您现在的位置是:首页 > PLC技术 > PLC技术
S7-200系列PLC的通信指令
来源:艾特贸易2017-06-04
简介在确定了通信网络中的硬件并配置好其参数后,要进行通信程序的编写,这就需要进一步的熟悉 PLC 提供的通信指令。 S7-200 系列 PLC 提供的通信指令主要有:网络读与网络写指令、发送
在确定了通信网络中的硬件并配置好其参数后,要进行通信程序的编写,这就需要进一步的熟悉PLC提供的通信指令。S7-200系列PLC提供的通信指令主要有:网络读与网络写指令、发送与接收指令、获取与设置通信口地址指令等。下面对各指令的格式、要求和用法分别予以介绍。 1.网络读与网络写指令 网络读/写指令( NETR/NETW)在LAD中的表现形式如图6-14所示。其中,TBL为缓冲区首地址,操作数为字节;PORT为操作端口,CPU226可为0或1,其他CPU只能为0。 网络读( NETR)通信指令通过指令指定的通信端口( PORT)从远程设备上接收数据,并将接收到的数据存储在指定的缓冲区表( TBL)中。网络写(NETW)通信指令通过指令指定的通信端口( PORT),向远程设备写入指令指定的缓冲区表( TBL)中的数据。 图6-14 网络读/网络写指令在LAD中的表现形式 缓冲区表( TBL)的参数定义如表6-2所示,其中“字节0”(首字节)的各标志位及错误码(4位)的含义如表6-3所示。 表6-2 缓冲区的参数定义
表6-3 缓冲区首字节标志的定义
NETR指令可以从远程站点上读最多16个字节的信息,NETW指令则可以向远程站点写最多16个字节的信息。在任何的同一时间内,只能有最多8条NETR或NETW指令、4条NETW指令和4条NETR指令,或者2条NETR指令和6条NETW指令。
图6-15 发送与接收指令的LAD表示形式及缓冲区格式 2.发送与接收指令 发送与接收指令的LAD表示形式如图6 -15所示。 (1)发送指令 发送指令XMT( Transmit)启动自由端日模式下数据缓冲区(TBL)的数据发送,通过指定的通信端口( PORT),发送存储在数据缓冲区(TBL)中的信息。 XMT指令可以方便地发送1~255个字符,如果有中断程序连接到发送结束事件上,在发送完缓冲区中的最后一个字符时,端口0会产生中断事件9,端口1会产生中断事件26。 可以监视发送完成状态位SM4.5和SM4.6的变化,而不是用中断进行发送,如向打印机发送信息。TBL指定的发送缓冲区的格式如图6-15c所示,起始字符和结束字符是可选项,第一个字节“字符数”是要发送的字节数,它本身并不发送出去。 如果将字符数设置为0,然后执行XMT指令,以当前的波特率在线路上产生一个16位的间断( Break)条件。发送间断与发送任何其他信息一样,采用相同的处理方式。完成间断发送时产生一个XMT中断,SM4.5或SM4.6反映XMT的当前状态。 (2)接收指令接收指令RCV( Receive)初始化或中止接收信息的服务,通过指定的通信端口( PORT),接收信息并存储在数据缓冲区(TBL)中。数据缓冲区中的第一个字节用来累计接收到的字节数,它本身不是接收到的,起始字符和结束字符是可选项。 RCV指令可以方便地接收一个或多个字符,最多可接收255个字符。如果有中断程序连接到接收结束事件上,在接收完最后一个字符时,端口0产生中断事件23,端口1产生中断事件24。 可以监视SMB86或SMB186的变化,而不是用中断进行报文的接收。SMB86或SMB186为非零时,RCV指令未被激活或接收已经结束。正在接收报文时,它们为0。此处,必须为报文接收功能定义一个启动条件和一个结束条件。当超时或奇偶校验错误时,将自动中止报文接收功能。另外,也可以用字符中断而不是用接收指令来控制接收数据,每接收一个字符产生一个中断。在端口0或端口1接收一个字符时,分别产生中断事件8或中断事件25。 在执行连接到接收字符中断程序之前,接收到的字符存储在自由端口模式的接收字符缓冲区SMB2中,奇偶状态(如果允许奇偶校验的话)存储在自由端口模式的奇偶校验错误标志位SM3.0中。奇偶校验出错时应丢弃接收到的信息,或产生一个出错的返回信号。端口0和端口1共用SMB2和SMB3。 3.获取与设置通信口地址指令 获取与设置通信口地址指令在LAD中的表示方式如图6-16所示。 获取通信口地址( GET_ADDR)指令用来读取PORT指定的CPU口的站地址,并将数值放入ADDR指定的地址中。
图6-16 获取与设置通信口地址指令在LAD中的表示方式 设置通信口地址( SET_ ADDR)指令用来将通信口站地址( PORT)设置为ADDR指定的数值。 注意:新地址不能永久保存,断电后又上电,通信口地址仍将恢复为最后的地址(用系统块下载的地址)。
点击排行
