诚信指数 6
一站通留言 客户留言 联系我们 联系我们 收藏此网站 发送消息
首 页
企业介绍
新闻资讯
产品中心
联系我们
在线咨询
search 搜索网站中其它产品:
上海西门子PLC代理
您现在的位置:上海西门子PLC代理-上海凌基自动控制有限公司 > 新闻资讯
 
新闻资讯
西门子S7-200PLC自由口串行通信应用
发布日期:2014-07-15

本文研究了西门子S7-200系列PLC和百得rLINE1000移液器进行自由口串行通信的方法,通过RS485/232有源通信转换模块将S7-200 PLC与移液器连接,通过对移液器的通信控制,实现了液体的定量吸排和取样嘴自动弹出操作。
关键词:移液器;PLC;串行通信;定量控制

中图分类号:TP336    文献标识码:B    文章编号:1003-7241(2013)06-0042-03

1  引言
移液器是实验室研究和工业生产中的一种较的分液设备,通过更换不同规格的取样嘴并对移液器实施通信控制,可完成液体的定量吸排。本文专门研究了西门子S7-200系列PLC和百得rLINE1000移液器进行自由口串行通信的方法,实现了PLC对移液器的通信控制,包括定量吸排和取样嘴弹出控制。


2  移液器的串行通信口
芬兰百得公司的rLINE1000线控移液器是一个由微处理器控制的系统,它具有优异的结构和极高的液体处理性能,移液准确,精密性高,并且可以通过计算机串口进行通信。百得rLINE1000移液器采用双排14引脚电缆连接器作为电源和通讯接口,其连接器信号如图1所示。

图 1  百得rLINE1000移液器串行通信口连接器信号图

百得rLINE1000移液器的每个模块都配备了带有RS232驱动程序的通用串行接口。RS232接口由接收数据(接收数据RXD,引脚5),传输数据(发送数据TXD,引脚6 )和接地信号(接地GND,引脚8 )组成。其通信波特率可以在9600bps与115.2 kbps之间改变, 但8位数据位、1位停止位和无奇偶校验是固定的。每个模块都必须使用相同的波特率。计算机等控制器可通过其RS232通讯接口向移液器发送ASCII码命令并接收移液器返回的ASCII码信息。通过PLC可编程控制器给移液器发控制命令实现定量吸液、定量排液和取样嘴弹出操作,其控制命令如表1所示。

 


上表中“I”字符代表吸取,“O”字符代表排除,其紧跟的后面三个字符代表体积量。


3  S7-200系列PLC的通信
S7-200系列PLC支持多种通信模式。点对点接口(PPI)、多点接口(MPI)、PROFIBUS、自由口串行通信等,它们都是基于字符的串行异步通信协议,带有起始位、8位数据、奇偶校验位(可选)和一个停止位。在自由口串行通信模式中,用户自定义与其他串行通信设备的通信协议,通过使用接收中断、字符中断、发送指令(XMT)和接收指令(RCV),实现S7-200PLC的CPU通信口与其它设备的通信。
通过将S7-200 PLC的特殊功能寄存器SMB30和SMB130的协议选择域置1,将通信端口设置为自由口通信模式。SMB30用于设置端口0的通信波特率和奇偶校验的参数,SMB130用于设置端口1的通信波特率和奇偶校验的参数(见表2)。

通过向SMB30或SMB130(SMB30用于设置端口0,而SMB130用于设置端口1)的协议选择位置1,可以将通信端口置为自由口通信模式。SMB30或SMB130还用于设置通信波特率、奇偶校验位、数据位。只有PLC处于RUN模式时,才能使用自由口通信模式,当CPU处于STOP模式时,自由口模式被禁止,自动进入PPI模式,可以与编程设备通信。为保证CPU处于RUN模式时进入自由口通信,可以采用S7-200 PLC的特殊寄存器位SM0.7来控制自由口通信方式的进入,当SM0.7为1时,CPU处于RUN模式,进入自由口通信模式。
在自由口通信模式下发送指令XMT将数据缓冲区(TBL)的数据通过指定的通信端口(PORT)发送,TBL指定发送区的格式如图所示,起始字符和结束字符是可选项,个字节“字符数”是要发送的字节,它本身并不发送出去。发送指令XMT可以方便的发送1~256个字符,如果有中断程序连接在发送结束事件上,则在发送完数据缓冲区的最后一个字节后,端口0会产生中断事件9,端口1会产生中断事件26。可以监视发送状态完成状态位SM4.5和SM4.6的变化。
接收指令RCV可以方便的接收一个或多个字符,最多接收255个字符,如果有中断程序连接到接收结束事件上,在接受最后一个字符时,端口0产生中断事件23,端口1产生中断事件24。可以监视SMB86或SMB186的变化,而不是通过中断进行报文接收。SMB86或SMB186位非零时,RCV指令未被激活或接收已经结束。在自由口通信模式下接受指令RCV通过指定的端口(PORT),将接收的数据信息存储在数据缓冲区(TBL)中。


4  移液器和S7-200 PLC的串行通信
如何实现S7-200PLC对百得rLINE1000移液器的控制并进行数据的采集和处理是研究的重点和难点。百得rLINE1000移液器通讯接口为RS232方式,不宜远距离传输,而通过有源模块RS232/RS485转换后,将RS232信号转换为RS485信号,即完成与S7-200 PLC的RS485信号进行通信,可实现远距离信号传输。
在S7-200 PLC的自由口通信模式中,用户可以定义通信口的波特率、每个字符的位数、奇偶校验等参数发送数据。根据实际情况的需要,将S7-200PLC和百得rLINE1000移液器之间的通信协议数据设置为波特率9600,数据位8位,1位停止位,无校验位。并通过自由口通信发送命令实现定量吸液、定量排液和取样嘴弹出操作等。
将百得rLINE1000移液器和S7-200 PLC之间通过一个RS232转RS485模块,实现了两者之间的硬件连接。


5  S7-200 PLC的发送和接收程序
S7-200 PLC的发送程序分为设置其自由口通信参数的程序,并发送移液器能够接收的定量吸液、定量排液和取样嘴弹出操作的命令,该程序通过S7-200 PLC的特殊功能寄存器SM0.1上电初始化完成。
系统上电后,S7-200 PLC写入其自由口通信的各个参数,设置为串口1通信,波特率为9600,数据位8位,无校验位,1位停止位,使其与百得rLINE1000移液器的通信方式一致。并且发送接收信息的控制字节,程序如下:
LD      SM0.1              //
MOVB   16#09, SMB130       // 串口1,无校验位,八位数据位,自由口通信
     //S7-200 PLC对移液器发送吸液、排液、复位和弹出取样嘴的命令分别如下: 
LD     SM0.1
MOVB   9, VB100
MOVD   16#01315249, VD101
MOVD   16#31303002, VD105  // 发送移液器吸取2.5ml液体命令    
MOVB   16#0D, VB109
LD     SM0.1
MOVB   9, VB120
MOVD   16#0131524F, VD121
MOVD   16#30353002, VD125   // 发送移液器排除1.25ml液体命令
MOVB   16#0D, VB129
LD     SM0.1
MOVB   6, VB140
MOVD   16#01303143, VD141   // 发动移液器复位命令
MOVW   16#210D, VW145
LD     SM0.1
MOVB   6, VB160
MOVD   16#01315245, VD161   // 发送推出取液嘴的命令;
MOVW   16#020D, VW165


6  结束语
在实际调试过程中,首先利用了串口调试助手将计算机与百得rLINE 1000移液器连接调试,然后将S7-200 PLC与移液器连接,进行串行通信控制,实现了液体的定量吸排和取样嘴弹出操作。

 


 

 

免责声明:本商铺所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责,一比多公司对此不承担任何保证责任。

友情提醒:为保障您的利益,降低您的风险,建议优先选择商机宝付费会员的产品和服务。


上海西门子PLC代理-上海凌基自动控制有限公司   地址:上海市宝山区陆翔路111弄(顾村绿地公园广场)1号503室   邮政编码:200237
联系人:梁先生   400电话:400-036-4986   电话:021-36588223   手机:13564874921   传真:021-36588220
技术支持:一比多  |  免责声明 | 隐私声明
增值电信业务经营许可证:沪B2-20070060     网站Icp备案号:沪ICP备05000175号
<%---站点编号 ----%> <%---页面编号 ----%> <%---页面参数1 ----%> <%---页面参数2----%> <%---页面参数3 ----%>