Modbus TCP

bmarshall

Member
Join Date
Feb 2018
Location
nanaimo
Posts
2
Does anyone know of a document or example of GE 90/30 PLC364 settings for communicating a Modbus TCP (slave with IP address) device? Thx
 
Thx for the replies.
I also received this from GE:
The CPU364 does not support any 3rd party protocols. It only supports GE Ethernet Global data (EGD) and GE SRTP.
For the 9030 , we had an IC693CMM321-GH or later, that does support modbus tcp client or server.
The IC693CPU374+ also supports modbus tcp client or server.
PROFINET is only supported in PACSystems RX3i family (which is the replacement product to 9030 family).
 
I wasn't sure about whether or not the CPU364 supports Modbus TCP, but I found this thread that seems to indicate that it can be a client but not a server.
http://www.plctalk.net/qanda/showthread.php?p=98860
RussB was the PLC Specialist for a GE distributor in Michigan for many years. He hasn't been as active on the forum since he retired, but he shows up from time to time. Perhaps he can clarify.
 
The 364 in listed in GFK-1541 and I don't see anywhere that there is restriction. You might want to make sure you have the latest firmware as it looks like 10.75 or so. There are many ways to do the Modbus tcp commands I have many examples but just copy and paste these in your application to see how it works and this one is a simple one so you get the idea. It can be a challenge but it will work.. you may want to look at the cpu manual as the task may have its one protocol this particular one is for the CPE305 embedded but the CMM321 is the rack number might start with 0 and see what code comes up in status bit.

Copy and paste in your application this is a simple open channel.


NOCON LAN_IF_OK,G,%I01096; NOCON LAN_OK,G,%I01093; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; COIL ETH_RDY,G,%M00936; END_RUNG;

NOCON ETH_RDY,G,%M00936; NCCON OPN_CHNL_TMR,G,%M00928; NCCON CHNNL_OPEN_SUCSS_BIT,G,%M00103; H_WIRE; TMR_TENTHS R09538,G,%R09538 250 1; H_WIRE; TMR_TENTHS R09224,G,%R09224 1 **; H_WIRE; H_WIRE; COIL OPN_CHNL_TMR,G,%M00928; END_RUNG;

NOCON ETH_RDY,G,%M00936; NOCON CHNNL_OPEN_SUCSS_BIT,G,%M00103; NCCON TMR_OS,G,%M00927; H_WIRE; TMR_TENTHS R09227,G,%R09227 25 1; H_WIRE; TMR_TENTHS R09230,G,%R09230 1 **; H_WIRE; H_WIRE; COIL TMR_OS,G,%M00927; END_RUNG;

NOCON ETH_RDY,G,%M00936; NCCON CHNNL_OPEN_SUCSS_BIT,G,%M00103; NCCON #FST_SCN,G,%S00001; NOCON OPN_CHNL_TMR,G,%M00928; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; POSCOIL T00021,G,%T00021; END_RUNG;

NOCON ETH_RDY,G,%M00936; NOCON T00021,G,%T00021; H_WIRE; H_WIRE; MOVE_WORD 1 0 LANOK,G,%R02040; H_WIRE; H_WIRE; H_WIRE; H_WIRE; RESETCOIL OPN_CHNL_FLT,G,%M00102; R+; NCCON CHNL1_OPEN_STAT_BIT,G,%I01097; H_WIRE; C-; V_WIRE; END_RUNG;

NOCON T00021,G,%T00021; BLKMOV_WORD 8 0 8 2039 0 0 3000 R07041,G,%R07041; H_WIRE; H_WIRE; BLKMOV_WORD 1 1 4 172 16 244 112 R07048,G,%R07048; END_RUNG;

COMMENT /* Move 0 to Commreq Status Word and trigger Commreq. */; END_RUNG;

NOCON ETH_RDY,G,%M00936; NOCON T00021,G,%T00021; H_WIRE; COMM_REQ R07041[0],G 2 65536 **; C+1; H_WIRE; H_WIRE; H_WIRE; H_WIRE; SETCOIL OPN_CHNL_FLT,G,%M00102; R+; C+2; C+1; C+1; H_WIRE; C-; V_WIRE; END_RUNG;

COMMENT /* Check if channel successfuly opened and trigger next Commreq. */; END_RUNG;

NOCON ETH_RDY,G,%M00936; H_WIRE; H_WIRE; EQ_INT LANOK,G,%R02040 1 **; C+1; H_WIRE; H_WIRE; H_WIRE; H_WIRE; COIL CONN_SUCSS,G,%M00031; R+; C+2; C+1; C+1; H_WIRE; C-; V_WIRE; END_RUNG;

NOCON ETH_RDY,G,%M00936; NOCON CONN_SUCSS,G,%M00031; NOCON CHNL1_OPEN_STAT_BIT,G,%I01097; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; COIL CHNNL_OPEN_SUCSS_BIT,G,%M00103;
 
Close Channel Remember the Task is for the CPE305 and may not work for the 364

NCCON CHNNL_OPEN_SUCSS_BIT,G,%M00103; H_WIRE; H_WIRE; H_WIRE; ONDTR_TENTHS R09242,G,%R09242 ** 100 **; H_WIRE; H_WIRE; H_WIRE; H_WIRE; POSCOIL CLSE_CHNL_OS,G,%M00935; R+; NOCON TMR_OS,G,%M00927; H_WIRE; H_WIRE; H_WIRE; END_RUNG;

NOCON CHNL_CLOSED_M,G,%M00934; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; POSCOIL T00022,G,%T00022; R+; NOCON CLSE_CHNL_OS,G,%M00935; C-; V_WIRE; END_RUNG;

NOCON CONN_SUCSS,G,%M00031; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; POSCOIL M01056,G,%M00937; END_RUNG;

NOCON ETH_RDY,G,%M00936; NOCON T00022,G,%T00022; H_WIRE; MOVE_WORD 1 0 CLSE_CHNL_WD,G,%R02050; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; RESETCOIL CHNL_CLSD_FLT,G,%M00104; R+; NOCON M01056,G,%M00937; H_WIRE; C-; V_WIRE; END_RUNG;

NOCON T00022,G,%T00022; H_WIRE; BLKMOV_WORD 2 0 8 2049 0 0 3001 R07041,G,%R07041; H_WIRE; H_WIRE; BLKMOV_WORD 1 0 0 0 0 0 0 R07048,G,%R07048; END_RUNG;

NOCON ETH_RDY,G,%M00936; NOCON T00022,G,%T00022; H_WIRE; COMM_REQ R07041[0],G 2 65536 **; C+1; H_WIRE; H_WIRE; H_WIRE; H_WIRE; SETCOIL CHNL_CLSD_FLT,G,%M00104; R+; C+2; C+1; C+1; H_WIRE; C-; V_WIRE; END_RUNG;

NOCON ETH_RDY,G,%M00936; H_WIRE; EQ_INT CLSE_CHNL_WD,G,%R02050 1 **; C+1; H_WIRE; H_WIRE; H_WIRE; H_WIRE; H_WIRE; COIL CLSE_CHNNL_STAT_BIT,G,%M00105; R+; C+1; C+1; C+1; H_WIRE; C-; V_WIRE;
 
It was in GFK-1541 :
"TASK: For the Series 90-30 CPU364, this must always be set to 21 decimal (0015H). For the
Series 90-30 Ethernet Interface and the Series 90-70 Ethernet Interface (Type2), this must always
be set to zero."
 

Similar Topics

If a device has Modbus RTU over serial and Modbus RTO over TCP and Modbus TCP then there is a difference between Modbus RTU over TCP vs Modbus TCP...
Replies
7
Views
348
Hi There. I have PC to get few tags from PLC into C# windows forms application. What is the best and fastest way? I could not find Omron in...
Replies
3
Views
161
I contacted Hach and bought a kit they recommended for a customer to add Modbus TCP capability to his Chlorine Analyzer with a SC4500 controller...
Replies
8
Views
194
I’m trying to read values from a device that can either send registers as 32 bit or a pair of 16 bit but if I understand right, the micro can only...
Replies
26
Views
679
Does anyone have any recommendations for Electronic Circuit Breakers with 0V Terminals built-in and Fieldbus (IO-LINK, MODBUS TCP, EtherNet/IP?)...
Replies
2
Views
167
Back
Top Bottom