好久不见……上篇文章我们探讨了西门子博图做TCP协议的使用方法,今天我们继续研究一下在TCP协议下做主站的原理及使用方法:
一、首先建立主站通讯连接:见下图,设置方法参照上一文章的组态调试方法,尤其要说明的是,REQ使能管脚再不同情况下的开关时不一致的,调试时一定要在需要断开的时候断开,连接的时候打开。
二、建立通讯通道:
1、上图中的发送块及接收块中的ID均为指定的连接号,如果只有一个TCP通讯,那么直接就默认未1就可以;
2、LEN是指发送及接收的数据长度,但是不同的是,发送的一定要指定长度,否则就会出现发送过程中丢包等一系列问题,但是接收模式时有两种设置方法:①将接收块管脚的ADHOC这是为False状态,那么就一定要指定接收的数据长度,否则就回造成接收数据不完整的情况;②将接收管脚的ADHOC模式设置为1,那么就可以不设置接收数据的长度,除非你接收数据的长度大于缓存区的长度,否则就不会出现接收数据包异常的情况。具体应用方式参照西门子指令手册即可。
3、DATA管脚指的是接收数据和发送数据的缓存区,这两个缓存区不是相同的,我发现好多同学接收数据和发送数据的缓存区填写的一模一样,那么你究竟是想要发送什么呢?你接收到的数据再发送给人家,这样做有什么意义吗?另外值得注意的是,缓存区的空间一定要大于传递数据的空间,否则就会丢包、数据读写不全面……
我在后台发送了一些关于通讯的资料及案例,有需要的同学请在后台回复XZ0001 PLC自行索取。