泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网
栏目:行业动态 发布时间:2020-11-21
在设计自由口通信程序时,自由口通信程序设计的核心就是使用发送指令XMT和接收指令RCV对数据进行发送和接收。接收指令RCV应用的难点,在于如何设置“判断接收消息的起始条件和结束条件”,而对于发送指令来讲相对的比较简单,只需要准备好数据,然后使用发送指

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

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

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

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

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

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图1)

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

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图2)

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

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图3)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图4)

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

  (1)编写变量表

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图5)

  (2)程序

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图6)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图7)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图8)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图9)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图10)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图11)

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

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图12)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图13)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图14)泛亚电竞直播

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图15)

  泛亚电竞直播:西门子S7-200系列PLC自由口通信程序设计之数据的发送-中国传动网(图16)


泛亚电竞直播www.moctoky.com