您现在的位置是:首页 > PLC技术 > PLC技术

OMRON PLC与上位机的通信协议

来源:艾特贸易2017-06-04

简介硬件连接是基础,而要实现 PLC 与上位机的通信则还需要通过软件来进行。 1 .通信命令与格式 上位机与 PLC 之间的通信,实际上是计算机与 PLC 通信模块 (HOST l ink) 之间交换命令和响应

    硬件连接是基础,而要实现PLC与上位机的通信则还需要通过软件来进行。    1.通信命令与格式    上位机与PLC之间的通信,实际上是计算机与PLC通信模块(HOST link)之间交换命令和响应。HOST link能够对从计算机发送来的字符串进行分析,检查数据的格式,分析指令代码,然后根据指令代码进行相应的操作,并向计算机发出相应信号,通知计算机已完成操作或反映通信中的错误、FCS错误、代码错误。    (1)命令格式    上位计算机发出的命令应符合图10.25所示的命令格式。
命令格式
    10.25    命令格式    ·开始符:命令首位为@,表示开始。    ·设备号:用于上位机识别所连接的PLC设备;不同型号的PLC,设置设备的方法也不相同,有的通过HOST link上的SW1进行设置;有的通过编程器等外部设备在DM中设置,如CPMIA PLC是在DM6653中设置。    ·识别号:命令代码,占用两个字符。    ·正文:设置命令参数。    ·FCS:帧检查序列。占两个字符,一旦通信出错,通过计算FCS可以及时发现。    ·结束符:“*”和CR码(回车),表示命令的结束。    (2)响应格式    对应于命令的响应格式如图10.26所示。
命令格式
    10.26    命令格式    ·异常码:返回命令的执行状态有无错误等信息。    ·正文:仅在有读出数据时,才有返回值。    其他项同命令格式中的解释。    (3)命令举例    ①测试命令:上位机发测试命令,测试HOST link是否响应。    ·命令格式。
    ·响应格式。
    ②读TC命令:上位机读出C200HTIMERCONTER的内容。    ·命令格式。
    ·响应格式。
    ③写入程序:将程序写入C200H的存储器。    ·命令格式。
    ·响应格式。
    ④读出程序:将C200H存储器中的程序代码读出。    ·命令格式。
    ·响应格式。
    通信命令中的其他命令在格式上与上述命令大同小异,使用中可参阅有关手册。例如,命令“@10RH0031000158*/”的含义是:PLC的设备号为10RH识别码表示读继电器,0031表示起始通道为310001表示一个通道,58FCS码,*↙为结束符。HOST link在接收这一命令后,读取RH31的值,并送回计算机。    2.通信过程    通信的主导权在上位计算机,通信时必须由计算机按要求向PLCHOST LNK发出通信命令,然后才能有HOST link发回响应信号。    OMRON上位机与PLC的通信过程如图10.27所示。    一组数据称为一个数据块,计算机发往PLC的数据块称为命令块,从PLC返回的数据块称为响应块。在计算机与PLC的通信系统中,每个数据块有设备号和标识码开头,中间是通信内容,有FCS和结束符结束。命令块中的结束符告诉HOST link命令结束,可以进行相应的操作,并送回响应;而响应块中的结束符告诉计算机可以发送下一个命令。
上位机与PLC的通信过程示意图
    10.27    上位机与PLC的通信过程示意图    通常,一个数据块由一帧组成,但如果一个数据块长于131个字符,后续每帧最多可以有128个字符。起始帧及中间帧的结尾,用分届符表示该帧结束,而结束帧的末尾用结束符来表示整个数据块的结束。此时,必须在收到响应信号后才能继续发送下一帧。    同样,对于响应块,若分为几帧来传送的话,中间也需要用分届符。    注意:要使通信正确进行,必须使上位机与PLCHOST link的传送速率及数据格式一致。另外,PLC的操作方式(RUNPROGRAM. MONITOR)和工作模式(本机、HOST link)不同,所允许执行的命令也不同。    3.帧校验序列FCS的计算    在发送命令时,FCS位于分届符或结束符之前,用于检查通信过程中是否发生错误。FCS是两位ASCII码表示的8位数据,这8位数据是将一帧的每个字符(从@、设备号到正文的最后一个字符)连续进行异或的结果。    串行通信中,若接收的数据与FCS -致时,认为此帧的通信格式及传送数据正确;若不一致,则说明传送的数据或格式有误。    4.通信中的异常码    通信命令执行后,响应格式中的异常码的含义如表10.13所示。    10.13    通信中异常码的说明
通信中异常码的说明