216CPU自由口通讯

我是一套216CPU的系统,现在需要做一个自由口通讯,用的是串口测试软件读的数据,我第一次做自由口,按照帮助例程做的,可是就是读不到数据。小弟就费解了,而且我只用发送不需要接收。清各位高人帮忙。

问题补充:
发送数据已经解决了,用的SMB34每隔50ms发送一次。但是我也用了PID程序,SMB34对PID有什么影响吗?会有什么结果,然后我想一分钟发送一次数据该如何完成?

最佳答案

:自由口和modbus通信   

modbus通信中最大的缺点是通信的时间太长,主要是在对数据的校验上,crc校验码的计数时间是最浪费plc时间的。所以在数据量较大时从站的响应时间就会很慢。这是modbus协议自身的问题很难通过程序解决。在对数据质量要求不高的情况下也可通过自己编写程序减少crc校验时间或不做crc校验。

实现从站:

由于从站是对主站的响应,发送的数据往往是不一致的,因此crc校验的值也是不相同的,因此实现从站功能最好还是使用西门子库中的从站功能程序,可在以下网址下载西门子库的软件包:http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=S0010

要减少crc校验时间可以将主站的请求数据不做crc校验而直接采用,当然对标准的主站响应还是要计数crc校验码的,因此有时时间也不会剪短多少,尤其是主站只读数据时,而在主站写数据时,数据量又很多时时间就会剪短很多。这种做法牺牲了通信的质量。

实现主站:

        主站的功能是访问从站,有读写两种功能,有时我们只需向从站读数据,要实现这种功能就无需使用库的程序,可以最小的减少plc的资源和时间。方法是首先配置端口的物理参数:波特率、数据位、停止位、奇偶校验等,这在下面的附件中自由口初始化子程序中实现。

然后是发送请求数据,在数据块中已经将发送的数据定义好并计算出crc校验码,只要使用xtm指令将定义好的数据发送出去就好了。数据发送完执行中断使能接受功能。将接受的数据转移到想要的地址。再次执行发送指令就可不断读取固定参数的数据而且不会占用太多资源。这也是牺牲了通信的质量换来的。

        要实现读写两种功能,就要crc校验程序,因为每次的值不同,校验码也就不相同对于标准的从站来说这是不可缺少的。然后将每次计数的crc校验附在数据后就可以实现了,这里区别就是发送的请求是固定的还是变化的。

        附件是一个简单modbus通信的例子,同样有自由口配置的部分,希望对大家在使用自由口和modbus时有用

提问者对于答案的评价:
谢谢 很全面

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐

  • PLC温度补偿问题

    我用S7200结合EM231通过热电偶采集温度,是否直接接到端子上就可以了,还需不需要设置补偿冷端?即PLC有没有自补偿功能? 最佳答案 EM231热电偶模块有一排指拨开关,其中S…

    SIMATIC S7-200 2021年7月5日
  • EM253位置控制模块

    在用EM253做位置控制的时候,用到了回零这个功能 但是为啥我在调用回零这个模块的时候有些时候电机正向旋转  有些时候电机方向旋转 最佳答案 说明电机…

    SIMATIC S7-200 2018年12月5日
  • 西门子6FX2007-1AC04

    西门子840d系统,电子手轮6FX2007-1AC04摔坏,换了新的,安装以后,其它正常,就是手摇脉冲发生器不正常,控制轴移动时,不平稳,感觉跳着走,里边的8个拨码开关和原来手轮设…

    SIMATIC S7-200 2021年7月5日
  • S7200 485转232

    2个S7200  与WINCC OPC通讯  与电脑的接口采用转换器 485转232 刚开始能通讯 …

    SIMATIC S7-200 2020年10月31日
  • 有关plc地址的问题

    我想修改plc的地址,200plc有ppi 和plc地址请问这两个有什么区别?可不可以把波特率改了?如果改了会不会发现通讯不上的问题。谢谢! 问题补充:我是想把不同的pl…

    SIMATIC S7-200 2021年7月5日
  • EM231的处理请教

    初次使用EM231,想问一下,EM231与PT100四线制相连,我要测的温度范围在0–400度,我如何读取现在的温度值,程序应该怎么写? 最佳答案 1.EM231与PT100四线…

    2017年10月30日
  • 求关于s7-200中断事件8或25的例子

    请问有没有关于中断事件8或25的例子程序,发个上来参考一下,谢谢各位! 问题补充:或者是关于 通信接收字符缓冲器SMB2的 最佳答案 这里我给出一个具体的自由口通信的例子…

    SIMATIC S7-200 2021年7月4日
  • s7-200smart怎么自建配方库

    wincc自带一套配方,但是功能很少,不能满足客户需求。客户需要每一个新建的配方中,有一个能计数的变量。比如配方A有个计数A,计数A计数到10,然后更换了配方B,计数B计数到了20…

    SIMATIC S7-200 2021年7月5日
  • S7-200 CP243-1如何通过以太网连接多个smart 700 IE

    设备清单:S7-222模块一个,CP243-1一个,SMART 700 IE 四台工艺要求多地控制,需要将4台SMART 700 …

    SIMATIC S7-200 2017年11月19日
  • S7-200 通讯不上

    我用SP4软件下载一次程序时,提示我波特率不一致,我改波特率再下载了,但是后来我无论怎么设置波特率再也找不到CPU了,请问怎么解决? 最佳答案 你是不是用PPI点缆下载,将PLC端…

    SIMATIC S7-200 2021年7月5日