CR1000可以使用NL121与Modbus一起使用TCPIP吗?我的传感器与Modbus协议一起使用,使用RS485连接到LAN,使用Modbus Poll等简单的测试程序,与Modbus RTU \ ASCII通过TCP / IP工作,但与CR1000带有NL121和Modbusmaster,它不起作用,任何想法?
TCPOPEN()需要在程序中打开IP连接。它将将套接字编号返回变量。
使用该变量使用套接字编号for for for for for for modbusmaster()。
必须关闭与传感器连接的其他软件。RS485到LAN适配器只允许一个连接。此外,适配器必须具有Mobus Gateway Funtionality。Modbus TCP和Modbus RTU是不同的。网关转换。
jdavis.
谢谢你的答案,我做了tcpopen()但我没有使用套接字没有。作为comport但cr1000连接并发送modbus的命令,但如果我在tcpip上使用嗅探器,我会看到命令前有一些“数字”,使传感器不会回答命令
这是我在嗅探器中获得的删除:
{00} {00} {06} {01} {04} {04} {0} {00} {00} {00} {0a} {0a} {0a}
真正的命令是
{01} {04} {00} {00} {00} {00} {0a} {0a}
随时通信端口是TCP / IP,CR1000应根据TCP / IP实现指南上的Modbus消息传递发送Modbus / TCP。Modbus / TCP PDU之前应该有7个字节,称为MBAP标题。您从“嗅探器”的示例似乎很短。我会期待类似的东西
{00} {01} {00} {00} {00} {06} {01} {04} {00} {00} {00} {0A}
在哪里
{00} {01}是事务ID
{00} {00}是协议ID
{00} {06}是长度,即遵循的字节数
{01}是单位标识符,即Modbus设备地址
我不相信CR1000具有ModbussLave / Modbusclient模式,允许Modbus RTU通过原始TCP连接。同样,随时通信端口是TCP / IP,CR1000将使用Modbus / TCP实现而不是TCP实现上的Modbus RTU。
因此,您的“RS485到LAN”设备需要能够作为Modbus TCP / RTU网关运行。
来自CampBell SCI的NL201是可以作为Modbus TCP / RTU网关操作的设备的示例,将Modbus / TCP转换为Modbus RTU以及对Modbus / TCP事务ID进行RTU事务跟踪RTU事务。