技术交流 您的位置:首页 > 新闻动态 > 技术交流

S7-200系列PLC自由口通信程序设计

发布时间:2022-02-24    浏览量:379

 在设计自由口通信程序时,自由口通信程序设计的核心就是使用发送指令XMT和接收指令RCV对数据进行发送和接收。接收指令RCV应用的难点,在于如何设置“判断接收消息的起始条件和结束条件”,而对于发送指令来讲相对的比较简单,只需要准备好数据,然后使用发送指令发送出去即可。

 

但实际应用中是否是真的就是这样呢?在一个通信程序中,需要发送的数据可能比较多,比如说与三菱变频器的通信,通过三菱变频器的专用通信协议来通信,那么需要发送的数据时有运行命令,频率修改,读取一些参数,而且这些数据均不一样,因此需要先定义好不同的数据在不同的存储器,当发送哪个命令的数据时就需要把数据给过去。真的是这样做吗?个人不赞同使用这种方法去做,个人比较赞同把需要发送的数据先做成一个功能块,然后根据需要发送的数据填写到这个功能块的管脚上,发送指令放于这个功能块中,当功能块接通一次,就对一次的数据发送出去。

 

就以三菱专用通信协议为例,发送运行命令和修改频率及读取一些参数的功能为例来进行说明。

 

三菱专用通信协议内容具体大家可以自己网上查找,这里不做详细的说明,这里我们主要看下PLC需要发送到变频器的数据的格式。

 

PLC往变频器写数据时需要发送的格式:根据数据长度的不一样分为三种格式,如下所示:

 

PLC读取变频器数据的时需要发送的数据格式

 

变频器运行代码、修改频率、读取变频器参数的代码如下表所示

结合上面的发送数据的格式,和代码表,我们可以发现,发现运行命令,和发送频率,以及读取变频器的参数值的格式都不一样,但也有前面部分相同的内容,所以我们在设计功能块时需要做判断,判断是“读命令”还是“写命令”,如果是写命令,则还进一步判断是“写运行命令”还是写“频率命令”根据这原理,我们可以开始设计功能块。

(1)编写变量表

 

 

(2)程序

 

 

 

编写好功能块后,只需要在主程序中调用这些功能块,同时给不同的功能块赋实参即可,如下所示:

 

电话:15906845558 QQ:41780253
网址:www.gkplc001.com
江东教学点:宁波江东百丈东路1130号海运港8楼(地铁一号线旁边)
海曙校区:海曙区学院路788号upark商业公园B4幢一楼
石浦大酒店旁边匠心教育
Copyright @ 2010-2020 宁波蓝天教育. All Right Reserve
备案号:浙ICP备16003439号-2

留言免费试听和领取资料

  • 姓名:
  • 电话:
  • 咨询课程: