Proficy ME 5.7 MODBUS TCP function 16

teckhno2002

Member
Join Date
Nov 2005
Location
Craiova
Posts
35
Hello,
I' working with Proficy ME 5.7. I must acquire data from a controller by MODBUS TCP.
This controller requiers, before the data to be available, the function 16 (write multiple registers) where I put an Access Code.
The hex command looks like that.
01,10,5F,D6,00,08,10,31,32,33,34,00,00,00,00,00,00,00,00,00,00,00,00
where:
01 - the address of the device
10 - function code (16 in decimal)
5F,D6 - Register address (24536 in decimal)
00,08 - number of registers to be writen
10 - number bytes to be writen (16 in decimal)
the last 16 bytes mean the access code in ASCII followed by null character.
After that I can read any reigster from the map.

I've tested this command using "modscan32" program and it works.

But I couldn't find how can I do this in Proficy (using function 16)

Does anybody now how this could be done?
 
There are several ways, it depends on the controller you are using and which port it is. A PAC gives you several options for this, the 90-30 CPU372 or 374 use different functions than the CMM321 Ethernet module. If using PC Control or QuickPanel there are scripts or OPC.
 
Thank you RussB
It's about View application.
Before trying an OPC I wish to know if Proficy offers me the options (by means of Modicon TCP/IP) to use this function 16 (write multiple registers).
Regards.
 
In the navigator window of Proficy ME, under your View target, right click on "PLC Access Drivers" and click on "New Driver". You'll find Modbus TCP listed among the choices. Once you have added that driver, create a new string variable for the View target, make that variable's source "PLC Access", and select the Modbus TCP driver and the appropriate address. Put a text data entry object on a panel in the View target to allow the operator access to the variable.

You don't have to worry about whether or not the View target uses Modbus code 16. It does that automatically. Since the variable is 16 bytes long, the driver will use code 16 to write to it. If you were writing to a 2-byte variable, the driver would use code 6 (write single register).
 
I've created a string variable with "Max Length" property 16. I put it on the panel but all I got was the "question mark" simbol wich means no communication. I've tried to address the controller variable by using all the modicon codes avalable 4(R/W), 7(R/W)Long, or 9(R/W)Long. Same result (question mark).
I think I'm going to search for an other way of connexion.
Tank you all for advices.
 

Similar Topics

Hi all! I have an RX3i with an embedded ethernet port. I am successfully connecting to some remote IO using Modbus tcp. However, if I issue my...
Replies
8
Views
2,429
I'm looking for some help with an old Alspa C80-35. I've purchased the Proficy ME sofware and I have uploaded the programme from the PLC. I...
Replies
3
Views
3,772
Has anyone migrated Proficy Historian data to a new server? I followed the guide to move all the data over, but when I run the utility, it stops...
Replies
0
Views
46
I'm getting frustrated creating arrays of variables in Machine edition. I need to make 2 variable arrays that are 102x2 in size, with varying...
Replies
3
Views
105
Hi I am wondering if the RXI-042 PLC model (below PN) is programable via Proficy Machine Endition, if so, what is the firmware version needed for...
Replies
2
Views
96
Back
Top Bottom