【S7-200 Smart开源标准化编程】modbus tcp封装

已锁定

不欲勿施

  • 帖子

    838
  • 精华

    14
  • 被关注

    255

论坛等级:奇侠

注册时间:2009-03-27

钻石 钻石 如何晋级?

【S7-200 Smart开源标准化编程】modbus tcp封装

3144

22

2022-12-07 10:35:14

        之前发过了modbus rtu封装的程序,标准化程序的目的是提高工作效率。当然这也带来了一些负作用,比如不可以使用“运行中编辑”功能,还有就是程序的量会变大。如果真的撑爆了就只能换大容量的PLC,或不使用这种标准化的方式。

        这次封装的modbus tcp程序适合单个开放式连接下的通信,比如:单个tcp从站下的多条读写通信,还有就是PLC连接modbus tcp转modbus rtu网关(注意不是串口服务器)的通信。网关如果是多串口的,可以创建多个通信程序进行连接每个串口,实现与每个串口下的多个从站的通信。

        这次封装使用的是西门子以前的modbus tcp通信指令。就是那个库里有8个客户端,8个服务器指令的库。这个库在阿里巴巴的西门子官方话旗舰店里已经不卖了,这里贴不了链接了。想用的小伙伴四处找找吧。这个指令库对于PLC连接modbus tcp转modbus rtu网关这样的通信比较友好。

        这次封装的modbus tcp程序里的功能如下:

       1、读轮询。掉了站的读跳过

       2、写优先。掉了站的写同样跳过

       3、掉站跳过和恢复。

       4、PLC上电后,先从 从站 读回写操作的那些数据,并且写到老值区。掉了的从站记录通信状态,后期写操作时跳过,并且老值区覆盖新值区。

       5、进行掉站恢复后同样进行一次4的操作。

       6、写操作完成后,若成功则新值替换老值,不成功则老值替换新值。

       7、掉了站的写操作,老值替换新值。

        程序的使用依然是填写数据块就可以了。

        假如应用中会出现同一时刻(同一扫描周期)的多个写操作,那么请把高优先级的写任务写在小序号(其实没序号)的写操作任务里。因为写操作的检查是从小序号开始的,其实是按顺序检查,先检查到的先执行。

        程序是在STEP 7-Micro/WIN SMART 2.6下创建的。 

        使用这个标准化的程序,自然是用最新分享的程序。新的程序自然是比之前的程序更优化。

        至于能不能看懂程序,这个就只能随缘了。功力深的自然能看懂,功力浅的就再多看看我之前发的帖子。

        欢迎点赞回复下载测试,有问题可以留言告诉我。

smart200标准化实践20230222.smart.zip


【S7-200 Smart开源标准化编程】modbus tcp封装 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7476条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。