正文内容
PLC的通信范文
来源:文库
作者:开心麻花
2025-09-19
1

PLC的通信范文(精选8篇)

PLC的通信 第1篇

1 控制要求

自动传送系统由机械手和送料车两部分构成, 如图1所示。机械手的工作是将工件从A点移送到停留在B点的送料车上。机械手的起点在左上方, 动作过程按下降夹紧上升伸出下降松开上升缩回的顺序依次进行。机械手的上升/下降、伸出/缩回以及机械手对工件的夹紧/松开, 都是由两位电磁阀驱动气压缸完成的。送料车的起点在B处, 由电动机驱动, 其工作是将放在小车上的工作从B点送到C点, 经卸料所需设定时间10S后, 小车自动返回。为了提高工作效率, 要求两部分独立工作, 同时在接料时要配合准确;两部分的启动、停止要相互联锁, 确保设备运行安全可靠。

2 系统设计思想

为了保证机械手和送料车同时工作, 以提高工作效率, 它们各由一台PLC控制, 两台PLC之间通过连接通信适配器FX2N-485-BD (采用双绞线连接) , 最大有效距离为50M, 数据自动传送。

2.1 机械手的控制

根据机械手的工作过程, 其控制程序采用步进指令设计。工件的下放应在送料车停在B点后进行;当机械手启动时, 送料车也应开始工作;当机械手停止工作时, 送料车应返回到起始处停止工作。这些信息可以通过并行连接通信方式传送。控制机械手PLC的I/O端与外部信号之间的地址分配如表1所示。

2.2 送料车的控制

根据控制要求, 为确保机械手与送料车的协调工作, 送料车从B点向C点的运动可在机械手松开工件上升后进行;机械手的启动/准停命令由控制送料车PLC出发。这些信息也可以通过通信方式传送。控制送料车PLC的I/O端与外部信号之间的地址分配表如表2所示。

3 通信模块的使用

本系统使用三菱公司的FX2N-485-BD接口模块来实现两台PLC之间的通信。为了连接RS485 (422) 单元, 要使用屏蔽线双绞电缆。本系统使用双对子布线, 在端子SDA和SDB之间连接端子电阻 (330Ω, 1/4W) , 在端子RDA和RDB之间也是这样, 以消除在通信电缆中的信号反射, 如图2所示。

通电后FX2N-485-BD通信板, 若正常连接SD、RD的两个LED因不停闪烁;若SD或RD的两个LED不亮, 应检查两通信板之间连接是否正确;是否可靠连接。

4 程序及程序说明

4.1 机械手的控制程序

机械手的控制程序主要由数据通信、手动操作和自动运行三部分组成。机械手的急停, 通过能够通/断外部负载电源的继电器控制器电路实现。

4.1.1 数据通信。

数据通信控制主要包括主站的设定、小车前进命令的传送。数据通信控制的梯形图程序如图3所示。

4.1.2 手动操作。

手动操作的上升、下降、伸出、缩回以及机械手对工件的夹紧、松开都是由相应按钮来控制的。手动工作方式控制的梯形图从略。

4.1.3 自动运行。

机械手自动工作方式控制的状态转移图如图4所示。

4.2 送料车的控制程序

送料车的控制主要数据通信和自动运行控制、点动控制这两部分。

4.2.1 数据通信。

数据通信控制主要包括从站的设定、机械手启动/准停命令、机械手下放工件命令的传送以及小车前进信息的接受。数据通信控制程序如图5所示。

4.2.2 运行控制。

送料车的运行控制主要由自动运行和点动操作两部分组成, 小车的急停是通过能够/断外部负载电源的电路实现。控制的梯形图

从略, 为防止双线圈使用M1、M2、M3、M4辅助继电器。

5 系统调试

5.1 程序的输入和输出

将机械手和送料车控制程序分别输入到各自的PLC中, 通过编辑和检查确保程序输入无误。

5.2 单机调试和模拟

分别对两台PLC进行调试和模拟, 其中通信信号, 可由外部输入信号代替。在单机运行正常后, 方可联机运行。

5.3 联机调试和运行

PLC的通信 第2篇

关键词:Java;串口通信;计算机;PLC

中图分类号:TN91 文献标识码:A 文章编号:1674-7712(2012)20-0020-01

Java是一种面向对象的,支持网络通信的程序设计语言,该语言不仅具有C++和Smalltalk语言的诸多优点,还能够进行网络通信、实现并发程序设计、对多媒体数据进行控制等,这些特点都决定了Java语言具有强健的鲁棒性。再者,Java对不同平台具有良好的支持性能,可以通过一次编译实现跨平台通信和数据传输。这个特性几号了解决了控制程序移植困难的问题,减少了开发周期,降低了开发难度。

PLC的抗干扰能力强、可靠性高、便于应用和集成,因此被应用在许多领域。通过PLC在分布式系统和数据采集系统中实现串行通信已经得到了广泛的应用。

本文就利用Java语言实现计算机与PLC的串口通信进行了研究。

一、基于Java的串口通信技术

(一)Java本地调用技术。将Java与硬件系统进行关联需要使用Java本地调用技术,也就是JNI技术。该技术通过Java虚拟机实现与用其他语言编写的应用程序和库的相互操作,其作用可以表示为两者之间的中介。

(二)Javax.comm类库。串口通信是计算机与其他外部设备进行数据传输的主要方式,但是不能直接利用Java语言实现串口通信的编程控制,因此需要借助其他语言如汇编、C/C++等实现对硬件的控制,在此之上利用JNI技术实现对串行通信的控制。虽然过程可能比较繁琐,但是SUN公司提供了javax.comm类库,通过该库调用合适的API即可通过Java实现串口的通信。该库提供有四个接口,六个类,三个层次。

其中上层类中的CommPortIdentifier可以使应用程序用方法和驱动器对可用的通信端口进行查找,选择某一端口后打开该端口利用通过其他类库,如底层类库等,进行通信。

类CommPort则是一个用来描述底层系统定义的有效通讯端口抽象类,通过该类可以控制通信端口实现传输的方法。

底层类中的两个类库分别提供串行或并行通讯接口,分别定义通信所需的基本功能的方法。

由于驱动层类不直接提供使用,故本文不做讨论。

具体通信流程为:搜索系统中的可用端口,选中其中一个可用端口创建传输对象,然后将该对象投射到某一类型的物理通讯设备中,标注该端口打开,就可以通过调用不同的方法进行数据的读写和传递,使用完毕后关闭该端口。

二、PLC串行通信

(一)通信协议。上位机与PLC之间的通信需要使用到通信协议,实现一次数据或命令的传输被称为一个数据帧或者命令帧,PLC接收到相应的帧后对上位机进行反馈。

一个完整的帧结构包含如下几个部分:协议帧结构标志、PLC判别节点号、识别码、正文、FSC帧检查码、终止符等。

(二)通信顺序。具体的通信顺序如下:首先上位机完成定界符的设定后对其控制的PLC设备发送控制帧,然后PLC在接收到定界符后向上位机进行反馈确定两者之间开始通信,上位机接收到PLC发送的反馈定界符后开始传输数据帧;当PLC向上位机发送数据时,同样需要先发送定界符并确认返回定界符,然后才能开始进行数据传输,数据传输完毕后以终止符结尾。

三、网络中的基于Java控制技术的多PLC通信技术

本文使用一台上位机同时对多个PLC设备进行控制,鉴于上位机只有RS-232接口,故在硬件配置中需要使用RS-232与RS-485的转换器,通过该转换器实现利用RS-485网络对PLC设备的远程控制。

系统的软件部分流程为首先进行程序初始化工作,然后与控制设备进行连接,连接成功后通过命令帧或者数据帧实现上位机与不同PLC之间的数据通信和远程控制。

打开串口代码为:

try{

PortId=CommPortIdentifier.getPortIdentifiers(PortName);

try{

serialPort=().portld.open(“Serial_Communication”,2000);

}catch(PortInUseException e)

{return InitFail};

}try{

In=SerialPort.getInputStream();

Out=SerialPort.getOutputStream();

}catch(IOException e)

{return InitFail};

串口配置代码为:

try

{serialPort.setSerialPortParams(9600,//传输波特率为9600

SerialPort.DATABITS_16,//数据位为16位

SerialPort.STOPBITS_2,//停止位为2位

SerialPort.PATITY_NONE);//无数据校验

}catch(UnsupportedCommOperation Exception e)

{return InitFail};

本系统使用监听的方式实现数据传递,该方式的好处在于响应速度快、实时性高。监听法是缓存区存储了新的数据时,端口会根据存储状态的改变而产生变化,监听器将监听结果传递给应用程序,应用程序对不同数据进行相应的处理,完成数据的传输和状态的监控。

四、结语

应用Java实现计算机与PLC的串行通信具有非常广泛的应用,其对分布式控制系统设计、现场设备的数据采集与远程控制等都具有现实指导意义。这种通信方式简单可靠,投资少,速度快,具有可观的应用前景。

参考文献:

[1]吴兴军,胡汉春.Java实现计算机与OMRON PLC串口通信[J].工业仪表与自动化装置,2010,1.

PLC的通信 第3篇

关键词:PLC,通信协议,VB6.0,串行通讯

可编程逻辑控制器 (PLC) 以其高可靠性、模块化结构、编程简单等优点, 在工控领域得了广泛应用。在绝大多数中小型控制系统中, 上位机与PLC的数据交换必不可少, 比如上位机对PLC的监控等, 如何实现两者的快速稳定通讯是每个控制系统需要考虑的问题。本文在VB6.0平台下, 依据三菱PLC的通信协议, 使用MSComm串行端口控件, 仅以简单串口连接线作为硬件连接, 即实现了PC机与FX2N系列PLC的稳定、快速通讯, 且该上位机系统可实现即插即用, 使用非常方便。

1 FX2n系列PLC的通信协议

使用三菱FX系列PLC通信协议进行PC与PLC的串行通讯时, 采用RS-232C设计标准, 需将PC通讯串口的通讯参数设置为9600, e, 7, 1。

1.1 PLC通信命令代码

对PLC的串行通讯所用命令如 (表1) 所示, 其中X表示输入开关量;Y表示输出开关量;M表示辅助开关量;S表示状态开关;T和C分别是定时器和计数器;D表示数据存储单元。

1.2 PLC通信控制指令

PC与PLC串行通讯的通信命令代码表明了PC对PLC可操作的对象及其状态, 那么用什么指令去控制这些对象使其实现所需的状态, 如表2所示, 使用表中相应控制指令实现, 其中的字符代码需用其ASCII码的十六进制 (0X) 表示。在VB6.0平台下, 若想使用“ENQ”, “ACK”, “STX”, “NAK”来代替相应的Ascii码值, 需要在程序段中加入“ENQ$=Chr$ (5) ”等程序语句。单字符数据传送格式如 (图1) 所示, 每个ASCII字符都遵循此原则, 首位起始位, 紧接7个数据位 (前低位, 后高位) , 1位偶校验, 1位停止位, 其波特率应设置为9600bps[4]。

2 基于通信协议的通讯报文分析

PC与PLC的通讯采用的“请求发送-回复应答”的通讯方式, 在此过程中, PC首先发送通讯请求给PLC, 即发送ENQ字符, 等待PLC的回复应答, 如果PLC返回ACK字符, PC读到给字符后, 则认为回复正确, 然后发送报文信息, 待PLC收到报文命令后会回复PC相应回复报文, 通讯就是以这个过程逐次发送报文的。如果PLC回复给PC的是NAK, 说明应答错误, 这种情况下, PC会再重新发送请求。下面通过实例对PC-PLC串行通讯的报文进行分析。

3 VB平台下通讯编程

VB6.0平台下, 有个串口专用控件, 名称为MSComm, 通过对该控件进行指令控制, 即可实现对表1中所有软元件的读和写操作, 也可置位或复位软开关。此过程不受PLC是否处于RUN状态影响[5]。

使用VB中的控件MSComm进行串行通讯设计, 其具体步骤如下: (1) 对通讯对象及所使用端口号进行属性设置; (2) 通讯协议设定及通讯报文准备; (3) 开通讯、传数据; (4) 通讯应答信号反馈; (5) 关通讯。

4 结语

系统所设计的通信设备的硬件连接方式和通信程序已成功应用于以FX2N系列PLC为主控器的剪切系统中, 通过实践证明, 系统有以下几个突出优点: (1) 系统不需外加三菱的任何专用通信板, 即可实现PC机-触摸屏-PLC的完美通信; (2) 应用三菱PLC通信协议进行通信, 不需对D8120进行设置, 不但简化了PLC程序, 而且通讯稳定可靠。 (3) 在有触摸屏进行现场控制的同时, VB开发的PC机监控程序可同时实现远程监控, 更独特的是PC机监控系统是即插即用模式, 可随时与系统分离, 这样对实验数据可方便地进行离线处理。 (4) 基于vb6.0平台的监控软件, 功能强大、经济实用界面友好、针对性强。

参考文献

[1]三菱公司.FX2N系列微型可编程控制器使用手册[M].上海:2008.

[2]三菱公司.MITSUBSHI FX通讯手册 (RS-232C, RS485) [M].上海:2007.

PLC的通信 第4篇

1 i FIX与西门子s7-300PLC的通信原理

1.1 控制系统的工作原理

在传统的工业控制系统中, 不同的硬件设备, 具有相对应的应用软件, 来控制系统的工作情况, 并且会根据系统发出的请求, 对软件进行改善和开发, 使软件可以更好的协助工业系统工作。这个过程虽然提高了系统的工作效率, 但却加大了系统开发和维护的费用, 也加重了工业企业的压力, 很多设备投入到实际的生产当中, 却不能很好的控制工业生产的行为, 而且常常带来访问冲突问题。这在一定程度上阻碍了工业生产的效率, 所以为了提高工业OPC技术的应用能力, 技术人员通过硬件设备驱动程序和通信程序封装成独立OPC服务器的形式, 来提供给控制系统足够的工作空间, 也可以使i FIX更好的发挥接口连接能力。基于这种水平的通信模式, 可以更好的加快通信时间, 也可以提高通信的效果。

1.2 客户端的工作原理

客户应用程序是通过OPC接口访问OPC服务器的过程, 来实现对系统的协助作用, 使控制系统可以在客户端的端口处, 获取到有用的信息, 但客户端的工作过程不是直接访问OPC服务器, 而是通过服务对象的交换, 来得到系统的信息数据。所以OPC服务器所获取到的数据是整个控制系统的通信信息, 也是控制系统工作的主要内容, 其中也包容OPC数据项。OPC数据项充当了一个指引的角色, 可以为数据信息的通信过程提供畅通的途径, 使技术人员可以以最快的速度, 得到控制水平结果, 服务器端定义的OPC对象, 是不能被系统改变的信息, 所有的数据信息来往, 都要通过客户端传达给显示系统。

2 i FIX与西门子s7-300PLC的通信实现过程及要求

2.1 客户端应用程序与设备数据访问实现过程

首先, 客户端会把数据信息的内容, 传输到OPC的接口, 使OPC可以读取到数据信息的含量, 进而通过系统内部的调整, 把信息传送到OPC服务器对象中, 经过OPC组对象和OPC项目对象的分析和验证, 在确保了数据信息安全的情况下, 通过I/O处理器的作用, 把数据信息提供给现场设备。这个过程就是客户端应用程序与设备数据访问实现步骤, 其中数据信息的安全性, 是系统应该提高的一个方面, 既要保障信息的完整性, 又要实现安全传输的过程。因此, 技术人员要使现场设备充分准备好接收工作, 使客户端可以预留出更多的空间, 来输入更多的数据信息, 同时客户端的应用程序要与现场的设备之间保持连通的状态, 确保信息的畅通性。

2.2 i FIX与S7-300的数据访问关系实现过程

首先, 在i FIX的客户端中, 会通过控制系统的指示, 把数据传输到OPC客户端驱动程序中, 并保证可以与OPC服务器对象形成连通的关系。通过OPC项目对象和OPC服务器对象把数据信息传输到虚拟的PC站的过程, 通过I/O处理器和OPC服务对象的作用, 使信息最终输送到EM277中。在这个实现过程中, 系统之间的协助作用非常重要, 所以技术人员要对每一个中转站进行检查和维护, 保障数据信息的顺利传输, 同时也要保障S7-300可以成功的进行数据访问, 形成统一的访问关系, 继而缩短数据访问的时间, 提高工业系统的控制水平。

2.3 i FIX与西门子s7-300PLC的通信要求

为了实现i FIX与西门子s7-300PLC的通信, 对系统的设备还有服务器的连接水平都有一定的要求, 同时也要按照系统配置的命令, 去合理的连接PC站, 保障各个通信站可以顺利的获取到通信内容。i FIX作为OPC的客户应用程序, 需要完整的控制系统, 来实现与OPC服务器的通信过程, 但是配置的命令直接影响到系统的工作情况, 所以在安装OPC驱动程序后, 应该对命令进行检测, 在确保了系统连通之后, 才能通过客户端向系统内输送信息。技术人员还要根据相应的组对象名和项目名, 去判断需要输入的配置命令, 保证数据信息在传输的过程中, 可以明确的判断出需要定义的对象类型。

3 结语

在客户端以及系统内部的对象定义完成之后, 技术人员要对通信的系统进行检测, 判断系统通信的能力, 同时根据数据信息的含量, 去分析客户端可以承受的数据压力。也可以依据命令的设置内容, 启动i FIX、OPCDrive、S7-300, 检测系统的启动能力, 判断命令的输入是否正确。确保系统配置的命令, 可以成功的进行数据交换, 实现组态软件与S7-300的数据传输, 并通过系统的完善, 来提高工业控制系统的工作效率。

摘要:OPC是一个过程控制的工业标准, 也是管理这个国际组织的重要措施, 随着科学技术的不断发展, 逐渐加大了自动化控制系统的研究, 很多仪表仪器中, 也通过OPC来控制系统的工作过程。本文主要研究组态软件iFIX与PLC的通信, 进而探索系统之间的自动化控制水平, 在西门子s7-300PLC通信过程中, 会涉及到很多数据的传送和输入。因此必须具备高效的通信系统, 才能提高系统的工作效率, 最大限度的展现出工业控制系统的水平。

关键词:OPC,组态软件,iFIX,PLC的通信

参考文献

[1]陶峥, 陈曾汗.基于OPC及工业以太网的iFIX与OPC的通信[J].计算机工程与设计, 2010, 12 (14) :120-123.

[2]戴鹏, 周晓峰, 王贵峰, 等.基于OPC的iFIX与PLC的通信[J].工矿自动化, 2011, 19 (48) :128-129.

[3]朱静, 齐向东.基于OPC技术的iFIX与s7-200PLC的通讯研究[J].自动化技术与应用, 2013, 32 (12) :102-103.

[4]韩芳芳, 张丽琴, 张永政, 等.基于第三方的OPC服务器的iFIX与PLC的通讯研究[J].电脑知识与技术 (学术交谈) 2011, 65 (45) :520-523.

浅析PLC通信技术 第5篇

1、通信方式分类

按照数据通信方式的不同, 可以按不同的标准进行分类:

1.1 并行通信和串行通信方式

(1) 并行通信一般以字节或字为单位进行通信, 一次传输一个字节或字, 硬件上除了控制线以外, 还最少要用9根 (8位数据线和1个地线) 或17根 (16位数据线和1个地线) 线传输数据。特点是传输速度快, 但是硬件成本高, 通信距离有限, 一般用在近距离通信, 如打印机等。

(2) 并行通信以位为单位进行通信, 一次传输一位。用两根线即可通信, 传输的距离远, 但是通信传输速度比较慢, S7-200PLC就是采用的串行通信方式。

1.2 全双工和半双工通信方式

全双工通信是指在通信时可以同时进行收发数据。半双工通信是指在通信时不能够同时收发数据, 同一时刻要么发数据, 要么收数据。如图1所示。

2、串行通信接口标准

RS-232C是应用在广泛的接口标准, 计算机串行通信口就是此接口标准。信号采用负逻辑, -5V~-15V表示逻辑状态“1”, +5V~+15V表示逻辑状态“0”, 最大的通信速率为20K/s, 最大的通信距离为15m。采用9针 (孔) 或25针 (孔) D型连接器。通信时最少用三根线:Rx (接受) 线、Tx (发送) 线、GN D (地) 线。

2.2 RS-422A接口

RS-422A采用的是平衡驱动、差分接受电路, 从而取消了地线信号。如图2所示平衡驱动器相当于两个单端驱动器, 其输入信号相同, 两个输出信号互为相反, 图中的小圆圈表示相反。实际使用时, 为提高抗干扰的能力, 在输入端并联一个120Ω电阻。

RS-422A的最大通信速率为10Mbit/S, 此时通信的距离为12m。当速度为100Kbi t/S时, 通信的距离可以达到1200m。

2.3 RS-485通信接口

RS-485是RS-422的变形, RS-422是全双工, 有两对平衡差分信号线用于发送和接收数据。RS-485只有一对平衡差分信号线, 为半双工方式。使用RS-485通信接口和连接线路可以组成串行通信网络, 实现分布式系统。最多可以有32个子站组成。为提高网络的抗干扰能力, 在网络的两端要并联两个电阻, 值一般为120Ω。

3、通信数据格式参数

对于串行通信方式, 在通信时双方必须约定好线路上通信数据的格式, 其主要参数有:

(1) 波特率:由于是以位为单位进行传输数据, 所以必须规定每位传输的时间, 一般用每秒传输多少位来表示。常用的有1200K bit/S、2400Kbit/S、4800Kbit/S、9600Kbit/S、19200Kbit/S。

(2) 起始位个数:表示开始传输数据的位, 称为起始位, 在通信之前双方必须确定起始位的个数, 以便协调一致。起始位数一般位1个。

(3) 数据位数:一次传输数据的位数。在传输数据时, 一次不是仅仅传输一位, 而是传输多位, 一般为8位, 正好一个字节, 常见的还有7位, 用于传输ASCII码。

(4) 检验位:为了提高传输的可靠性, 一般要设定检验位, 以指示在传输过程中是否出错, 一般单独占用一位。常用的检验方式有:偶检验、奇检验。当然也可以不用检验位。

(5) 停止位:当一次数据位数传输完毕后, 必须发出传输完成的信号, 即停止位。停止位一般有1位、1.5位和2位的形式。

(6) 站号:在通信网络中, 为了标示不同的站, 必须给每个站一个唯一的表示符, 称为站号。通一个网络中所有的站的站号不能相同, 否则会出现通信混乱。

4、通信协议

要进行通信, 光有硬件是不够的, 还必须对通信的数据格式进行定义和说明, 称为通信协议。S7-200PLC支持的通信协议有P PI协议和MPI协议。同时, 通过直接操作通信口, 可以实现其他的通信协议, 如Modbu s协议等。我们此处以PPI协议为例进行讲解。在使用PPI协议时, 网络中不论连接多少台PLC或计算机, 当只能有一个主站, 其他的为从站。即只能有一个站能够主动发送数据, 其他的只能被动的接收数据或当主站要求自己发送数据时才能够发送数据, 而不能主动发送数据。

通过本文的介绍我们了解了PLC通信技术的基本结构, 我们在实际运用中, 做到既经济又合理, 尽可能发挥PLC所提供的最佳功能, 同时, PLC的编程语言是面向用户的, 对使用者不要求具备高深的知识、不需要长时间的专门训练。

参考文献

[1]庞广信.可编程控制器技术应用[M].北京:化学工业出版社, 2006.

PLC的通信 第6篇

在工业控制领域中, Modbus协议是应用于控制器上的一种通用语言。通过此协议, 控制器相互之间、控制器经由网络和其它设备之间都可以通信。许多工业设备 (包括PLC、变频器、触摸屏、智能仪表等) , 都使用Modbus协议作为它们之间的通信标准。该协议规定:网络中只允许存在一个主站, 其他设备均为从站。PLC在工业自动化控制领域中占有很大的比例, 本文就针对西门子S7-200系列的PLC在该协议下通信控制模块的设计作详细的介绍。

1 协议基本原理

1.1 协议概述

Modbus协议的通讯采用应答方式, 由主机发起请求, 从机执行请求并且应答。在R485等允许多个站点的网络中, 至多只能有一个从站响应主站的请求。基于Modbus协议的通信通常支持两种传输模式:美国标准信息交换码 (ASCII码) 模式和远程终端单元 (RTU) 模式。用户可根据需要选择适当的传输模式, 但在同一个Modbus网络上必须采用相同的传输模式。

1.1.1 ASCII模式

当控制器在Modbus网络上以ASCII模式通信时, ASCII代码系统采用十六进制ASCII字符, 每字节包含1个起始位、7个数据位 (最小的有效位开始依次发送) 、1个奇偶校验位 (无校验则无此位) 、1个停止位 (有校验时) 或2个停止位 (无校验时) 。

ASCII方式下:帧头为“0x3A”, 帧尾为“0x0D”“0x0A”。消息中字符间发送的时间间隔最长不能超过1秒, 否则接收的设备将认为传输错误。在ASCII方式下, 数据字节全部以ASCII码方式发送, 先发送高4位位元组, 然后发送低4位位元组。例如:01会传输30、31两个ASCII字符。此时数据采用LRC校验, 校验涵盖从从机地址到数据的信息部分。校验和等于所有参与校验数据的字符和 (舍弃进位位) 的补码+1。其主要优点在于:字符发送的时间间隔较短 (约为1s) , 且不易产生错码。

RTU模式信息帧中的8位数据包括两个4位十六进制字符, 相对ASCII模式, RTU模式表达相同信息需要较少的位数在相同通信速率下具有更大的数据流量, 因此通常情况下都是采用RTU模式的Modbus协议。

1.1.2 RTU模式

当控制器在Modbus网络上以RTU模式通信时, RTU代码系统采用4位二进制数表示十六进制数, 每字节包含1个起始位、8个数据位 (最小的有效位开始依次发送) 、1个奇偶校验位 (无校验则无此位) 、1个停止位 (有校验时) 或2个停止位 (无校验时) 。

RTU消息发送至少要以3.5个字符时间的停顿间隔开始。在最后一个传输字符之后, 一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。整个消息帧必须作为一连续的流转输。如果在帧完成之前两个字符间有超过1.5个字符时间的停顿时间, 则认为帧错误, 停止接收, 清缓冲, 直到通信主循环中, 清错误标志 (与PLC寄存器无关) , 重新启动接受。该模式其主要优点在于:在同样的波特率下, 比ASCII码更高效的数据传输量。

1.2 Modbus数据类型

Modbus以系列具有不同特征表格的数据模型为基础, 如表1所示:

1.3 帧类型

Modbus的帧结构分为请求帧、应答帧、错误帧三种。

主站的询问可能有以下几种情况:

(1) 从站收到了无通讯错误的请求, 并进行正常处理, 从站返回应答 (正常帧) ;

(2) 从站收到的请求, 但有通讯错误, 则不进行返回, 主站认为超时;

(3) 从站收到了无通讯错误的请求, 但不能处理这一通讯请求, 返回错误帧;

1.4 Modbus部分功能号请求/响应帧

读保持寄存器 (功能号0x03) :读取保持寄存器是读取从站的数据 (字) 寄存器值 (最多可以有125个数据寄存器) , 如图1所示。

写多个寄存器 (功能号0x10) :在一个远程设备中, 使用该功能码写连续寄存器块 (1至约120个寄存器) 。在请求数据域中说明了请求写入的值。每个寄存器将数据分成两字节。其请求响度帧结构如图2所示。

2 PLC通信程序模块化实现

PLC部分上位机驱动程序和PLC通信程序, 均遵循Modbus协议的规范:采用主从方式, 上位机作为主机发起通信, 从站PLC始终处于被动状态, 随时准备响应来自上位机的通信。PLC通信功能模块包括通信初始化模块、通信寄存器刷新模块、中断接收模块、帧处理模块, 以及对以上进行组织的通信总调度模块。

2.1 通信初始化模块

PLC的通信以“接受请求帧到返回响应帧”为一个通信循环, 每次循环之前均通过初始化模块对通信工作中的各通信标志和变量进行复位操作。开机时对串口号、波特率、奇偶校验位、传输模式进行初始化。

2.2 通信寄存器刷新模块

通信寄存器刷新模块是上位机程序同PLC进行数据交换的桥梁。PLC把其I/O点状态存入相应的通信寄存器, 上位机通过读取这些寄存器的内容获得I/O信息。上位机也通过对某些寄存器写入特定的控制值, 使PLC根据这些寄存器值作出响应动作, 实现控制命令的执行。通信寄存器列表在项目开发中以公共文档的形式进行定义, 内容以字为单位, 作为上位机和PLC程序对信息内容判断的依据。在PLC中对于上传的状态数据, 需要根据定义, 实时进行对应寄存器的刷新, 以随时准备将数据提供给上位机。

2.3 中断接受模块

该模块主要是提供接受和发送两个串行中断。接受中断的中断服务程序, 用来接受上位机的请求帧数据, 组织成帧后提供给帧处理模块。

2.4 帧处理模块

帧处理模块对帧进行处理。首先解析帧的设备号地址是否符合从机号地址, 不符合就放弃, 符合就继续解析帧的功能号, 然后按照功能号处理数据, 最后通过CRC或LRC校验, 形成响应帧。

2.5 通信总调度模块

该模块作为一个总的调用模块, 将PLC部分通信功能作为一个调用单元, 处理流程如图3所示。PLC每次扫描都执行这个模块, 完成通信方面的处理工作。

3 结束语

本文介绍的基于Mod Bus协议的PLC通信系统采用RS485总线标准, 半双工传输方式, 保证数据有效可靠地传输。系统具有较大的灵活性、抗干扰性和可扩展性, 方便了对工业现场设备的控制和操作。

摘要:Modbus协议是应用于电子控制器的一种通用协议。该协议已经成为我国工业自动化网络协议规范的国家标准之一。介绍了Modbus通信协议的基本特点, 对在Modbus协议下PLC的通信控制系统实现作了详细阐述。

关键词:Modbus协议,PLC,通信

参考文献

[1]辛伊波, 赵顺东.工业控制系统串行异步通信研究[J].自动化仪表, 2003 (5) .

[2]丁莉君, 吴晓君.VB6.0下S7-200PLC与PC机的串行通信[J].制造业自动化, 2007 (1) .

[3]廖常初.PLC编程及应用[M].北京:机械工业出版社, 2005.

[4]冯向科, 邓莹.基于MODBUS RTU通信协议下的CRC算法实现[J].电脑知识与技术 (学术交流) , 2006 (3) .

[5]李喜东, 刘波涛, 刘刚.Modbus RTU串行通讯协议在工业现场的应用[J].自动化技术与应用, 2005 (7) .

PLC的通信 第7篇

关键词:S7—200系列,PLC,自由口通信,实现

德国西门子 (SIEMENS) 公司的S7系列可编程控制器包括S7200系列、S7300系列和57400系列, 其功能强大, 分别应用于小型、中型和大型自动化系统。S7200系列PLC是集成型小型单元式PLC。集成了CPU、电源、I/O于一体, 具有丰富的内置集成功能, 强劲的通信能力, 使用简单方便、易于掌握, 具有极高的性价比。广泛应用于各个行业。由于S7200系列PLC几乎包含了西门子PLC所有的性能, 而且在小型PLC中具有较强的代表性, 所以本文以S7200系列为例, 对其自由口通信问题进行探讨。

1 S7200的构成

S7200系列PLC有CPU21X和CPU22X两代产品, 其中CPU22X型PLC有CPU221, CPU222, CPU224和CPU226四种基本型号。本文以CPU224型PLC为重点, 分析小型PLC的组成。

1.1 主机的基本I/O

CPU22X型PLC具有两种不同的电源供电电压, 输出电路分为继, 电器输出和晶体管DC输出两大类。CPU22X系列PLC可提供4个不同型号的CPU基本单元供用户选用, 其类型及参数见表1。

CPU221集成6输入/4输出共10个数字量I/O点, 无I/O扩展能力, 6KB程序和数据存储空间。

CPU222集成8输入/6输出共14个数字量I/O点, 可连接2个扩展模块, 最大扩展至78路数字量I/O或10路模拟I/O点, 6KB程序和数据存储空间。

CPU224 集成 14 输入 /10 输出共 24 个数字量I/0 点 ,可连接 7 个扩展模块 ,最大扩展至 168 路数字量 I/O 或 35 路模拟 I/O 点,13KB 程序和数据存储空间。

CPU226集成24输入/16输出共40个数字量I/O点, 可连接7个扩展模块, 最大扩展至248路数字量I/O或35路模拟I/O点, 13KB程序和数据存储空间。

CPU226XM除有26KB程序和数据存储空间外, 其他与CPU226相同。

CPU 22X系列PLC的特点:CPU22X主机的输入点为DC24V双向光藕输入电路, 输出有继电器和DC (MOS型) 两种类型 (CPU21X系列输入点为DC24V单向光藕输入电路, 输出有继电器和DC、AC三种类型) 。并且, 具有30k Hz高速计数器, 20k Hz高速脉冲输出, RS-485通信/编程口, PPI、MPI通信协议和自由口通信能力。CPU222及以上CPU还具有PID控制和扩展的能力, 内部资源及指令系统更加丰富, 功能更加强大。

CPU224主机共有I0.011.5等14个输入点和Q0.0~Q1.1等10个输出点。CPU224输入电路采用了双向光电藕合器, DC24V极性可任意选择, 系统设置1M为10B输入端子的公共端, 2M为I1B输入端子的公共端。在晶体管输出电路中采用了MOSFET功率驱动器件, 并将数字量输出分为两组, 每组有一个独立公共端, 共有1L、2L两个公共端, 可接人不同的负载电源。

S7200 系列 PLC 的 I/O 接线端子排分为固定式和可拆卸式两种结构 。 可拆卸式端子排能在不改变外部电路硬件接线的前提下,方便的拆装,为 PLC 的维护提供了便利。

1.2 主机及其I/O扩展能力

CPU22X系列PLC主机的的基本I/O点数及可扩展模块数目见表2。

1.3 高速反应I/O

CPU224PLC有6个可用于高速计数脉冲的输入端 (I0.0I0.5) ,最快的响应速度为 30k Hz,用于捕捉比 CPU 扫描周期更快的脉冲信号。 还有 2 个高速脉冲输出端 (Q0.0、Q0.1) ,输出脉冲频率可达 20k Hzo 用于 PTO (高速脉冲柬) 和 PWM (宽度可变脉冲输出) 高速脉冲输出。

1.4 存储系统

S7200 CPU存储系统由RAM和EEPROM两种存储器构成, 用以存储用户程序、CPU组态 (配置) 、程序数据等。当执行程序下载操作时, 用户程序、CPU组态, (配置) 、程序数据等由编程器送入RAM存储器区, 并自动复制到EEPROM区, 永久保存。

系统掉电时, 自动将RAM中M存储器的内容保存到EEPROM存储器。

上电恢复时, 用户程序及CPU组态 (配置) 自动存人RAM中, 如果V和M存储区内容丢失时, EEPROM永久保存区的数据会复制到RAM中去。

执行PLC的上载操作时, RAM区用户程序、CPU组态 (.配置) 上装到个人计算机 (PC) , RAM和EEPROM中数据块合并后上装PC。

1.5 模拟电位器

模拟电位器用来改变特殊寄存器 (SM32、SM33) 如定时、计数器的预置值、过程量的控制参数等。

1.6 存储卡中的数值, 以改变程序运行时的参数

该卡位可以选择安装扩展卡。扩展卡有EEPROM存储卡、电池和时钟卡等模块。EEPROM存储模块, 用以用户程序的复制。电池模块, 用以长时间保存数据, 使用CPU224内部存储电容数据存储时间达190h, 而使用电池模块存储时间可达200天。

2 S7200系列PLC的自由口通信方式

自由口通信也称用户自定义协议通信, 它主要针对S7-200系列的PLC。自由端口模式下, 用户可通过发送指令 (304T) 、接收指令 (RCV) 、发送中断、接收中断等来控制通信口的操作。

一般情况下, 第三方设备大都支持RS485串口通信, 西门子S7-200PLC可以通过选择自由口通信模式控制串口通信;同时, 自由口通信也为计算机与S7-200PLC之间的通信提供了一种廉价与灵活的方法。计算机与PLC通信时, 为了避免各方争用信道, 一股采用主从方式, 即计算机为主机, PLC为从机, 只有主机才有权主动发送请求报文, 从机收到后返回响应报文。自由口通信也可以用于PLC之间的通信。

需要注意的是:自由口模式下, 计算机与S7-200PLC之间通信是指上位机编程软件STEP 7与S7200CPU之间的通信, 通信协议完全由梯形图程序控制。

3 S7200系列PLC自由口通信的实现

在自由口通信模式中, 用户。可以定义波特率、每个字符位数、奇偶校验等参数。通过使用发送中断、接收中断、XMT (发送指令) 、RCV (接收指令) 等指令来实现用户程序控制通信端口。XMT指令激活发送数据区中的数据, 数据缓冲区第一个数据指明了要发送的数据字节数, 缓冲区最大为255个字符, 在发送完最后一个字符时产生发送中断, 执行中断程序;RCV指令激活初始化或结束接收信息的服务, 它可以接收最多255个字符, 这些字符存在缓冲区中。如果有一个中断程序连接到接收完成事件上, 则在接收到缓冲区的最后一个字符时, 会产生一个中断, 执行中断程序。由自由口通信协议支持所允许的数据通信完全是柔性的, 可以使用字符中断控制来接收数据。

计算机与PLC通信是由计算机发出命令启动通信, PLC作出响应。这时, 由于PLC内部端口为485端口, 串行通信RS-485标淮是半双工方式, 所以PLC的XMT命令和RCV命令不能同时执行, 否则, 双向通信会产生致命错误, 甚至危及系统。

因此, 编制自由口通信协议务必保证发送、接收的分时性。在实际工程中, 采用在接收结束后, 在产生的中断程序中再行发送命令的办法能可靠地实现了半双工通信的分时性要求。

PLC作为下位机, 在通信中接收到上位机发送来的数据帧, 判断地址码是否与本机地址相同。如地址吻合, 则下位机与上位机通信建立;如不符, 则继续循环扫描接收。PLC每收到一个字符都判断是否为数据结束符, 直到接收到结束符, 即证明上位机发送完毕。在接收完成后, 根据上面所述, 连接到接收结束中断, 在中断程序中向上位机发送数据, 作为对上位机命令的响应。

发送命令格式:XMTTBL,PORT

接收命令格式:RCV TBL, PORT

其中, TBL指数据缓冲区, PORT指端口号。

在实现自由口通信的软件设计中, 主要包括PC软件与PLC梯形图两部分, 下面分别给出主要的源程序代码。

利用Delphi来实现PC机的通信, Delphi是新一代可视化开发工具, 它具有功能强大、简便易用和代码执行速度快等特点, 是全球公认的快速应用开发工具, 在开发企业信息系统方面发挥着重要作用。但由于Delphi中没有串口控件可用, 所以首先需要把Active X控件MSComm加到元件选项板上, 并设置MSComm控件的属性, 其主要属性如下:

(1) Comm Port:设置并返回通信的端口号, 设为1;

(2) Sening2以字符串的形式设置并返回波特率, 设为19200, n, 8, 1;

(2) Port Open:设置井返回通信端口的状态;

(4) Input:从接收缓冲区读取数据;

(5) Output:从发送缓冲区发送数据;

(6) Input Mode:设置从缓冲区读取数据的格式;

(7) Rthresho1d:接收缓冲区接收多少字符触发On Comm事件, 设为8。

在向PLC发送数据命令时, 利用定义好的数据帧格式, 组织好数据, 用文本方式发送。在接收PLC数据时, 触发On Comm事件, 在这个事件中, 将接收到的数据按照数据帧的定义解释, 并进行相应的操作。

参考文献

[1]李剑.西门子PLC与监控计算机通信问题的研究[D].天津大学, 2007.

[2]高强, 王朝硕, 王政.基于网络的PLC通信系统的研究[J].电力系统通信, 2003, (1) .

[3]金元郁, 李磊.一种PC与PLC在自由口模式下的串行通讯方法[J].青岛科技大学学报 (自然科学版) , 2005, (4) .

PLC的通信 第8篇

1)当前,在工业控制领域,网络控制技术快速发展,基于以太网的PLC通讯得到了广泛的应用。有线局域网以其广泛的适用性和技术价格方面的优势,获得了成功并得到了迅速发展。然而,在工业现场,一些工业环境禁止、限制使用电缆或很难使用电缆,有线局域网很难发挥作用,因此无线局域网技术得到了发展和应用。随着微电子技术的不断发展,无线局域网技术将在工业控制网络中发挥越来越大的作用。是现代数据通信系统发展的一个重要方向。

2)CIP协议(Control and Information Protocol)是由ODVA、CI等机构联合推出的应用层协议标准,是在工业设备和智能设备之间提供链接的控制和信息协议,是独立于物理层和数据链路层。CIP协议为采用不同物理层和数据链路层的各层网络提供了统一的应用层协议标准,使得各层网络可以在应用层实现无缝链接。CIP协议族基于生产者-消费者的模式进行报文传递,提高了报文的利用率,减轻了信道负载。

3)UNIX操作系统是一个多用户、多任务、分时的的操作系统。由于其功能强大、系统稳定,系统安全性高,可移植性好,技术成熟、可靠性高、支持多处理器、以及开放性好等优点,UNIX系统是重要的企业级操作平台。

基于以上考虑,因此采用UNIX基于CIP协议建立UNIX平台下的PLC无线以太网通信,实现数据快速传输。结构拓扑图如图1。

2 CIP协议分析

2.1 数据包结构

如表1所示,封装的头部总是24字节长,命令代码2个字节,代表要实现的功能,数据长度域=以字节为单位的被封装数据域的长度(不包括此24字节)。会话句柄由Register Session的响应报文返回,在以后的请求和响应报文中都会填充此字段,状态域只用于响应报文,请求报文忽略此项。发送端上下文由发送端设定,并由响应端返回,用于应答的匹配。可选项,封装协议所支持的选项(目前还没定义,为全0)。主要命令有:

1)Register Session(建立会话),命令代码0x0065。此命令与目标节点建立会话,请求方询问对方详细的版本,如果对方设备支持所要求的版本,则返回会话句柄及所要求的版本号,会话句柄用于在此会话上的后续报文,如果对方设备不支持所要求的版本,则它返回所支持的最高版本,并指示版本不匹配。

2)Send RRData(发送数据),命令代码0x006f。本命令用于发送请求/响应数据,发送方上下文用于匹配对于的响应。封装数据的剩余部分是通用数据包格式,地址项用于在目的方位于其它链路时路由用,数据项包含被封装的请求/响应数据。

3)Un Register Session(结束会话),命令代码0x0066。此命令将终止于目标节点的会话,此命令中的会话句柄指明将被关闭的会话,发送此命令后,会话句柄变无效,此命令无封装数据,此请求命令无需应答,在结束通讯前一定要使用此命令,否则下一次在同一端口建立会话在一段时间内将不起作用。

一个会话就是会话层的一个连接,会话设立了TCP资源并准备好交换封装协议报文的路径,建立会话前应建立TCP连接,由Register Session命令开始一个会话,Un Register Session命令终止会话,会话打开以后,它将一直保留直到目的方或发起方关闭了TCP连接。

2.2 CIP读取数据服务

CIP读取数据服务从IOI string描述的地址中读取一个数据块,并将返回相应数据或错误。4C代表数据读取命令。

命令格式:

返回数据格式:

CC代表读取返回响应。

2.3 CIP写数据服务

CIP写数据服务向IOI string描述的地址中写入一个数据块,数据必须和指定的数据类型匹配。4D代表写入数据命令。

返回数据格式:

CD代表写入返回响应。

2.4 数据结构定义

1)存放标签名称和元素的个数的结构体

2)写入标签的结构体

3)服务包的结构体

4)用于接收服务包的结构体

5)写入值结构体

6)封装协议头的结构体

7)各种命令的专有数据的结构体

8)CIP协议的结构体

9)服务所对应的数据的结构体

10)用于接收的结构体

11)多个服务的结构体

12)路由路径的结构体

13)接收CIP的结构体

2.5 数据包装

将上述数据结构按图方式包装。分别为读取、读写及写响应的数据包装。

3 TCP/IP协议

TCP/IP协议并不完全符合OSI的七层参考模型。TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别是应用层、传输层、网络层、数据链路层,协议封装如图5所示。

4 建立UNIX下的无线网络连接

1)用fork()函数为每个PLC创建子进程,实现与多个PLC通信,pid=fork(),pid为进程ID。

2)套接字是一个通信端口,是一个使用标准UNIX文件描述字与其它程序通信的方法。套接字很象文件描述字因为它同文件和管道一样使用read/write来读写数据。套接字不象文件描述字那样,除了可以有一个地址外还明确包含着关于通信的3种属性域、类型和协议。本套接字的域为Internet域、类型为流套接字、协议为TCP协议。套接字连接如图6所示。

5 数据传输的实现

1)注册会话:按照上述方法包装数据,实现程序如下:

当返回会话句柄int Session Handle为非零时注册成功。

2)按照数据包装方式包装数据,分别用Read Data和Write Data函数向PLC写入数据及读出数据。程序实现如下:

3)结束会话:程序实现如下

6 结束语

采用以上方式开发了某自动化立体仓库监控系统,经过实验调试运行表明,系统性能稳定、数据传输快、运行效果良好。

无线系统以电磁波作为传输介质,避免了有线系统安装成本高、维护成本高、故障率高、查找故障困难等限制,提供了低成本、移动自由且不受限制、投运快速、灵活性和使用方便等竞争优势。一些具有前向思维的企业洞察工业无线系统的巨大潜力,对此给予极大关注。

摘要:介绍在UNIX平台下基于CIP协议,运用Socket网络套接字建立无线以太网络连接通信,以UNIX多进程方式,实现了与多个PLC2(AB Logix5562)的快速实时通信。经实验,证明该方法是工业自动化领域较好的无线以太网解决方案。

关键词:CIP,无线通讯,PLC

参考文献

[1]Stevens W R.Advanced Programming in the UNIX Environment[Z].

[2]Control Net International and Open DeviceNet Vendor and Association.CIP Common Spacification Volume1Release1.0[Z].2001(6).

[3]Control Net International and Open DeviceNet Vendor and Association.EtherNet/IP Adaptation of CIP Specification Volume2Release1.0[Z].2001(6).

相关文章
中学英语作业范文

中学英语作业范文

中学英语作业范文(精选12篇)中学英语作业 第1篇如何才能设计出内容丰富、形式多样的英语作业,让孩子在完成作业的过程中充分运用聪明才智...

1
2025-09-19
再说一声再见初中作文700字

再说一声再见初中作文700字

再说一声再见初中作文700字(精选4篇)再说一声再见初中作文700字 第1篇再说一声再见初中作文700字世界上最真的感情,莫过于亲情;世界上最...

1
2025-09-19
政治演说范文

政治演说范文

政治演说范文(精选9篇)政治演说 第1篇一、出现“中式英语”倾向的原因由于中国与英语国家的历史背景、政治经济体制、社会文化的不同, ...

1
2025-09-19
正定县调研报告

正定县调研报告

正定县调研报告(精选11篇)正定县调研报告 第1篇深化改革突出特色为县域经济发展服务——关于正定县职业教育发展情况的调研报告近期县政...

1
2025-09-19
择期腹部手术论文

择期腹部手术论文

择期腹部手术论文(精选8篇)择期腹部手术论文 第1篇关键词:术前访视,择期腹部手术,焦虑,生理应激有效的术前访视能够缓解病人焦虑紧张情...

1
2025-09-19
中药国际化机遇与挑战

中药国际化机遇与挑战

中药国际化机遇与挑战(精选10篇)中药国际化机遇与挑战 第1篇关键词:中医药,国际传播,机遇与挑战中医药的国际传播将是实现中医药国际化...

1
2025-09-19
主体施工劳务承包合同

主体施工劳务承包合同

主体施工劳务承包合同(精选8篇)主体施工劳务承包合同 第1篇施工劳务承包合同发包方(以下简称甲方):天衡建筑公司陈兴标承包方(以下简...

1
2025-09-19
作文 错过 记得

作文 错过 记得

作文 错过 记得(精选5篇)作文 错过 记得 第1篇作文 错过 记得我错过了你的冷眼;我错过了你的.暴躁;我错过了你的悲哀。我只记得...

1
2025-09-19
付费阅读
确认删除?
回到顶部