理论教育 PLC连网通信的方法与技巧

PLC连网通信的方法与技巧

时间:2023-07-01 理论教育 版权反馈
【摘要】:同一平台多有多种通信方法。多用于PLC站点之间通信。用于PLC主从网络中主站与从站间一对一通信。而2、6为从PLC。欧姆龙称之为远程I/O链接,是主、从PLC网络。西门子的MPI网把它称为“全局数据包通信”。该图为4个PLC进行数据链接通信的示意。

PLC连网通信的方法与技巧

PLC通信方法与通信平台有关。同一平台多有多种通信方法。同一通信方法也多可用于不同的平台。

1.自动通信

这种机制是经过网络组态,不必运行通信程序,各站点即可通信。多用于PLC站点之间通信。非常可靠,也非常方便。具体有3种形式:

(1)地址映射通信。用于PLC主从网络中主站与从站间一对一通信。之前要进行网络组态。并指定用于实现能自动通信的、相互映射的、读写数据地址。

图6-8所示为主从网络一例。图中1为主PLC上的远程主控单元接口,为通信主站。而2、6为从PLC。3、7分别为从PLC2、6上的PLCI/O链接或从站单元,为通信从站。图中的4、5为主PLC的远程I/O终端,无自身CPU,分别作为主PLC的I/O点,受主PLC管理。

978-7-111-39745-8-Chapter07-10.jpg

图6-8 主从网络

1—主PLC上的远程主控单元 2、6—从PLC 3、7—PLC I/O链接单元 4—网络终端器 5、6、8—主PLC远程I/O终端

远程I/O终端与主PLC虽有通信,但它不是独立站点。作为主PLC的I/O点,在逻辑上与主PLC当地的I/O点没有区别。所差的只是这里的通信、数据传输需要时间,故它的I/O响应时间将略有增长。

从站PLC有自身的CPU,还有自身的I/O,对其自身I/O的控制完全由自身管理。要与主站PLC交换信息,必须通过之间通信、交换数据实现。这里关键是使用了PLC I/O链接或从站单元。它既是从PLC的扩展模块,在从PLC中有其I/O地址;又是主PLC的远程I/O终端,在主PLC中也有其映射的I/O地址,如图6-9所示。

以图6-9为例,从站1的读(输入)区(字)10,在主站上的映射地址为1000。从站2的读(输入)区(字)10(不一定非是10),在主站上的映射地址为1002。且都是主站的写(输出)区(字)。从站1的写(输出)区(字)11,在主站上的映射地址为1001。从站2的写(输出)区(字)11(不一定非是11),在主站上的映射地址为1003。且都是主站的读(输入)区(字)。可知,每个从站在主站中都有专用于通信的数据读写映射地址。

978-7-111-39745-8-Chapter07-11.jpg

图6-9 地址映射通信机理示意

这样,当主站轮流与各个从站及远程I/O终端通信时,将把主站映射区的数据依次发送给对应的从站输入区,各从站输出区的数据也依次返回给主站对应的映射区。而从站之间、主站远程I/O终端之间、从站与主站远程I/O终端不能通信,不能交换数据。

在这样系统中,如果从站1的PLC要向主站PLC发送数据,其具体过程可分为5步:

1)把要向主PLC传送的数据,写入通信用输出区(如从站1为的内存字11);

2)通过从PLC输出刷新,把数据传到PLC I/O链接单元或从站单元的存储区(如从站1,为字11的地址);

3)通过网络通信,把PLC I/O链接单元或从站单元存储区的数据,送主站主控单元的存储区(字1001的映射区);

4)通过主PLC输入刷新,主站主控单元存储区的数据,被读入主PLC的地址映射区(主PLC的字1001);

5)主PLC从地址映射区(主PLC的字1001)读取这个数据。

主PLC向从PLC发送数据的过程与此过程相反。先是主PLC向映射区写数据;再经主PLC输出刷新,传入主站主控单元的存储区;再通过网络通信,传入从PLC I/O链接或从站单元存储区;再经从PLC输入刷新,传到从PLC的输入存储区;最后由从PLC读取这个数据。

这里说的很复杂。但这里的输出、输入刷新都是PLC操作系统自动实现的。这里的PLCI/O链接单元与主PLC主控单元间的数据传送,是由远程网络通信系统自动完成的。而且其通信过程如同PLC的扫描过程一样,总是周而复始地重复着。

这种通信,用户所要做的只是编写有关的数据读写程序。只是它所交换的数据量不大。多只有一对输入、输出通道,故只能用于较底层的网络上。

图中的4、5是主PLC的远程I/O终端,不是从PLC,是直接受主PLC控制。所以,这种网络也是PLC远程I/O系统的延伸。欧姆龙称之为远程I/O链接,是主、从PLC网络。被链接的从PLC,有自身的CPU,可独立运行程序,可进行实际控制。只是为了与主PLC交换数据,才与主PLC连网。

采用地址映射通信,输出对输入的响应是有延时的。从以上对它的通信过程叙述就可看出。具体的不再赘述。

提示:用数据区地址映射通信只能在主站与从站之间进行。而从站之间通信则要通过主站转达。

提示:主站PLC及各从站PLC“写区”、“读区”的大小取决于使用什么样的网络平台及做什么样的设置(组态)。

提示:PLC远程I/O系统,从站没有CPU,不能自行控制。控制的成本虽低,而一旦通信出现故障,从站的控制将无法实现。

提示:主站除了为PLC,有的也可为计算机,从站除了PLC,也可能是智能设备。只要配置有相应的通信硬件就可以。

(2)地址链接通信。用于PLC对等网络中两站点或多站点之间通信。之前也要进行网络组态。并指定用于实现能自动通信的、相互链接的、读写数据地址。又称数据链接(Data Link)通信。三菱称之为循环通信(Cyclic Communication),多用于控制网。西门子的MPI网把它称为“全局数据包通信”。而哪个站点成为发送站点,由“令牌”或与其类似的代码授权。谁拥有“令牌”,谁就成为发送站点。这个代码,轮流在通信的各站点间传送。无论是管理网络的主站,还是被管理的从站,都同样有机会拥有这个“令牌”。其通信机理如图6-10所示。

该图为4个PLC进行数据链接通信的示意。字地址1000~1063之间的64个字被设置作为这个链接的数据区。而每个PLC都把它的这个区分为写与读两个部分。且这个划分对每个参与链接的PLC都是互补的。如PLC1,其“写区”为1000~1015字,“读区”为1016~1063字,则PLC2的“写区”为1016~1031字,“读区”为1000~1015字及1032~1063字等。

978-7-111-39745-8-Chapter07-12.jpg

图6-10 链接通信机理示意

这4个PLC的数据链接通信分5步实现:

1)运行程序,把要向外传送的数据写入自身的写数据区;

2)输出刷新,把“写区”数据传到PLC链接单元或接口的对应(写)缓冲区;

3)参与PLC链接的PLC链接单元或接口间相互传送数据,把各链接单元或接口对应(写)缓冲区的数据传给其他PLC的PLC链接单元或接口的对应(读)缓冲区;

4)输入刷新,把PLC链接单元或接口缓冲(读)区的数据读入到读数据区;

5)运行程序,把要使用的数据从自身的读数据区读走。

这里的输出、输入刷新是在程序扫描开始前或结束后由系统自动实现。必要时,也可在程序中加入I/O刷新指令实现,以加快程序对链接数据的响应速度。

这里的各PLC链接单元或接口间的数据传送,则由PLC链接系统的网络通信自动完成的。其通信过程如同PLC的扫描过程一样,总是周而复始地重复着,力求使各PLC链接单元的存储区的数据保持一致。

说得通俗一点,这里设置的链接数据区相当于邮局的信箱。数据发送与接收如同发信与收信。要外送的数据先投(写)入信箱,靠信箱的传送机制,把数据传送给对方。要用的数据则从来自别的PLC数据的信箱中取出。其间的数据传送如同邮局为你服务一样,会自动实现的。若要快速传送,可另做I/O刷新,这如同寄快信一样。

总之,这个通信数据交换,经历了两种过程:

一是PLC的内存区中“链接区”与PLC链接单元或接口的缓冲区之间数据交换。这是由I/O刷新实现的。其周期取决于各PLC的程序扫描周期或程序中使用I/O刷新指令的情况。

二是各PLC链接单元或接口间的数据交换。它由主站PLC管理“令牌”,进而使各PLC轮流把链接单元或接口缓冲区中“写区”的数据,传送给其他PLC的“读区”。

这两个过程各按照各的周期重复进行着。也正是有了这两个过程,PLC间的数据交换才成为可能,而且非常可靠。

链接通信交换的数据量比较大,可以为几个、几十字。是很常用、很方便的PLC间的对等通信的方法。具体大小取决于链接数据区的大小及参与链接的PLC数量。

提示:参与链接的不一定都是PLC,只要配置有相应的通信硬件,如计算机上安装有欧姆龙Controllink网络通信板及相关驱动程序,也可与连网的PLC链接通信。

(3)生产者、消费者通信。发送数据的站点用广播方式发送生产者数据,同时被其他所有站点同名的消费者接收。在网络组态时,也要先对生产者、消费者的标签做设定。然后把设定下载给相关PLC。当这些PLC都处运行状态时,生产者标签即可根据设定的时间间隔或现值变化的情况,向其他站点同名的所有消费者标签传递它的现值。可知,它的基本机理与数据链接类似。只是,它的设定更加灵活。

2.对话通信

站点间通信靠相互对话实现。要发起者通信的站点,先运行通信程序,发送通信命令,通信对方接收命令后,或由它的操作系统应答及处理,或运行人工程序应答及处理。针对不同通信平台有以下3种形式:

(1)自由协议通信。多用在串口连网的平台上。通信双方根据自行约定,调用串口通信指令进行通信。也称无协议通信。

自由协议通信用于PLC之间通信,双方都要有串口通信指令。用于PLC与计算机,双方都要编程。主要是串口读、串口写及串口设定、使能指令。后两者用于串口初始化。当然,这个设定与使能有的也可用编程软件预先完成。

要弄清的是,执行读、写指令只是对PLC串口缓冲区的读、写。而数据发送及接收则是PLC通信管理系统分时完成的。一般讲,PLC用于处理通信的时间大体占其程序扫描时间的10%~20%。所以,执行数据发送指令后不是马上就把数据发送出去的。反之,不执行接收指令也不等于PLC不接收数据。只是把收到的数据放入接收缓冲区。

提示:只要串口的物理电气、功能特性相同,双方又同处于可使用自由协议通信,那么,使用各自的串口指令,还可以在不同品牌PLC间进行通信。

(2)串口协议通信。主动方根据被动方的通信协议,向被动方发送通信命令;被动方接收到命令后,不必运行通信程序,而由操作系统处理通信命令,并按要求向主动方应答。

显然,这里弄清通信协议是关键,否则主动方无法编程。在串口连网平台上,计算机与PLC通信、PLC与现场设备通信多是用协议通信。

(3)网络协议通信。在PLC网络平台上,主动方(PLC或计算机)按网络协议,执行网络通信指令,与被动方PLC通信。它交换数据量大,可达几百个字节;通信速度快(取决于网络底层特性)。而且只要有网关,有的还可跨网络通信,即网络中继运作(Network Relay Opera-tions)。

网络通信指令有读、写及操作命令。主动方发送命令,都可对指定网络、指定站址、指定数据区进行读或写。可向对方发送操作命令,使对方改变工作模式。可强制或复位对方是工作位及文件操作等。

但是,被动方也可执行保护自身的指令。执行它后,可不让对方读、写自身数据,或受其操作。

网络协议通信要建立在PLC网络的平台上,而这样平台各厂商PLC多互不兼容。因此用这样通信只能在同类型PLC间进行。

(4)套接字(Socket)服务通信。套接字原是计算机应用程序使用TCP和UDP的以太网接口技术。有的PLC以太网也支持这个技术。用它可实现PLC与计算机以及PLC与PLC间通信。在使用这个技术时,要预先做好PLC的设定,然后设法把套接字激活或调用网络通信命令进行通信。(www.daowen.com)

PLC的套接字通信服务支持UDP(无连接通信),也支持TCP(有连接通信)。也还可执行FTP(文件控制传输)协议。

3.专用软件通信

专用软件用于计算机与PLC间连网通信。并多可在多种通信平台上使用。专用软件通信的好处是不必弄清PLC的通信协议,不用编程或做简单编程即可通信,有的还可用于PLC编程及网络设置。但要计算机上装载这些软件、函数、控件或运行通信服务程序。

(1)用PLC厂商提供编程软件通信。PLC厂商编程软件除了可以用于脱机编程,还可用于与PLC联机。可对PLC以至于PLC网络进行设定(或称配置、组态),下载、上载PLC程序,读写PLC数据以及改变PLC工作状态。有的PLC编程软件还有监控数据动画图形显示功能。

(2)用PLC厂商提供网络管理软件通信。PLC厂商除了提供编程软件,一般还提供专用于网络配置、测试与管理的软件。可用以网络配置、通信及测试。

(3)用PLC厂商提供有通信接口函数(API)通信。API函数原是微软在设计Windows操作系统时加进去的。PLC厂商提供的API则是PLC厂商适应Windows操作系统开发的,专用该厂商PLC与计算机通信的函数。与厂商专用通信软件不同的是,这些通信函数不能单独运行,是要嵌入到用户的程序中,由应用程序调用才可工作,才能实现计算机与PLC的通信。

使用API的好处是不必弄清PLC的通信协议,但要在计算机上装载相关的驱动。

(4)用PLC厂商提供有通信控件通信。控件是很多PLC厂商都开发有可为可视化编程软件使用的,针对自身PLC串口或网络模块的通信控件(ActiveX控件)。如欧姆龙、三菱PLC都有专门通信控件。用户的应用程序可调用这些控件,即可实现与PLC通信。

使用控件的好处也是不必弄清PLC的通信协议,但要在计算机上装载这些控件。

(5)用OPC通信。在16位Windows时代,程序间通信用的是动态数据交换(Dynamic DataExchange,DDE)。两个Windows应用程序同时运行。其中一个作为服务器(Server),另外一个作为客户(Client)。后者向前者发送服务请求,后者将予以回应,从而实现两个程序之间的数据交换。现在已进入32位Windows时代,DDE当然用得很少了。

现在程序间通信用的是OPC(OLE for Process Control)。它诞生于1996年8月。随着1997年2月Microsoft公司推出Windows95支持的DCOM技术,1997年9月新成立的OPC Foundation对OPC规范进行修改,增加了数据访问等一些标准,使OPC规范得到了进一步的完善。

OPC是OLE在工业控制领域的应用。而OLE(Object Linking and Embedding)指对象链接与嵌入技术,是应用程序间传输和共享信息的一组综合标准。所以,OPC是微软处理程序间通信、数据交换的新技术,是DDE在32位Windows时代的新发展。

OPC基础委员会主席DaveRehbein是这样描述OPC的,即:“OPC基于Microsoft公司的Dis-tributedinter Net Application(DNA)构架和Component Object Model(COM)技术的,根据易于扩展性而设计的。OPC定义了一个工业标准接口,这个标准使得COM技术适用于过程控制和制造自动化等应用领域。”

具体讲,OPC是以OLE/COM机制作为应用程序的通信标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来,为基于Windows的应用程序和现场过程控制应用建立了桥梁

可知,使用OPC可把通信程序与应用程序分开。通信程序由PLC厂商或专门软件公司提供,用于与PLC通信,作OPC的服务器。而应用程序由PLC用户编写,作为OPC的客户。两者再通过程序之间的数据交换,使OPC客户间接实现了对PLC监控与数据采集。

用于PLC的OPC服务器除了自身实现与PLC通信的功能外,与其他OPC服务器一样,也要有一组组接口(Interface),并通过这些接口,为客户提供服务。

OPC的服务软件多是要收费的。使用它也可不必弄清有关通信协议。

(6)用组态软件通信。组态软件是专业公司在编程软件平台上开发的,介乎编程软件与应用软件之间“应用软件的半成品”。作为商业产品,组态软件一般都提供了友好的用户使用界面,还有变量库、图库、控件库以及脚本语言。同时,还都提供(收费或免费)种种与硬件通信的驱动程序。所以有了它,用户可简便、灵活地设计画面,定义变量及调用驱动程序,基本上不用编写程序代码,或编写篇幅不大的脚本,就可组态成自己的应用软件。而实现的功能却与用编程软件开发的应用完全相当,而且一般还都具有更漂亮的画面。

此外,组态软件自身的固有优点:

易学习,学半个月、一个月就可上手,而VB、VC没有一年半载很难入门;

易开发,用组态软件开发应用,一个中等难度的一般工程,半个月可以了,VB、VC少的一两个月,长的就更难说;

易维护,组态软件开发的应用,维护、修改很容易,而VB、VC开发的应用,换一个人去读懂代码都不易,改就更难。编程的人“跳槽”,往往使“老板”为难也与此有关;

界面好,组态软件是专业厂商作为商品提供的,界面都比较美,所以用它开发的应用画面都可作得比较美观;

接口多,组态软件接口多,上可接各种数据库、各种管理网络,如ERP系统等,下可接各种现场设备,可发挥承上启下的作用。

当然,从通信的角度讲,由于组态软件都提供有与PLC的驱动程序。所以也不必了解有关通信协议也可实现与PLC通信。

4.互联网通信

(1)利用互联网通信。最成熟通信是电子邮件,可发送、接收报文,还可添加附件。通信数据量可大到以兆计。只是这样通信没有建立连接,通信不是很可靠的。为此,最好双方要有约定,要通过应答确保数据的安全传送。

(2)web通信。有的PLC的以太网模块可内置web(万维网)的网页,提供网址,作为服务器。计算机用户可使用浏览器阅读此网页,读取PLC数据,以至上、下载文件。还可进行PLC的远程诊断及系统维护

(3)互联网其他通信。如图6-11所示,计算机还可通过互联网与PLC连接。

978-7-111-39745-8-Chapter07-13.jpg

图6-11 计算机通过互联网与PLC连网

从图知,这里PLC站点与计算机站点都是通过路由器、ISP(Internet Service Provider,互联网服务供应商服务器)接入互联网。然后进行通信。

978-7-111-39745-8-Chapter07-14.jpg

图6-12 深圳赛远公司SY-RSCM300路由器

为了PLC系统安全,建议在PLC方最好使用可设定密码的路由器,如图6-12所示的深圳赛远公司的SY-RSCM300路由器。其主要性能有:全双工10/100Mbit/s;路由及防火墙功能;可设置密码;工业IC设计稳定可靠;支持广域网、局域网等。该公司同时还提供有设置与使用软件。

从图6-12可知,它除了外接电源,还有配置口(用于路由器以配置)、一个WLAN口(上接互联网接)及4个LAN口(可接4个PLC)。为了使用该产品,该公司还设有测试实验系统,提供有SY-RSC远程通信接入软件、账户与密码。运行此软件后出现的界面如图6-13所示。

978-7-111-39745-8-Chapter07-15.jpg

图6-13 远程接入软件界面

从图6-13可知,只要输入所提供的账户、密码,先单击【参数保存】键,后点击【连接】键。单击完以后耐心等待,依据计算机和网络的速度,一般连接服务器时间为30~60s左右。如账号、密码正确,网络正常将弹出连接成功的应答窗口。并在计算机桌面右下角出现网络连接小图标。计算机还增加一个与上述账号、密码对应连接。

连接成功后,打开S7-200编程软件STEP 7 MicroWIN V4.0 SP7。先按图6-14所示操作,设置PG/PC接口。

978-7-111-39745-8-Chapter07-16.jpg

图6-14 设置PG/PC接口

进而按图6-15所示配置S7-200IP地址。

978-7-111-39745-8-Chapter07-17.jpg

图6-15 配置S7-200IP地址

在配置正确的IP地址,并刷新后,如果如图6-16所示,显示该IP地址,表示连接到了远程的PLC。

978-7-111-39745-8-Chapter07-18.jpg

图6-16 显示IP地址连接成功

一旦连接成功,如同当地串口与PLC连接一样,可上下载程序、数据,对PLC监控。可完成运行编程软件所有的工作。

5.利用公网通信

这里用的公网主要指固定电话网、移动电话网及有线电视网络。

(1)固定电话通信。它主要用于通话,传送的是模拟信号。但随着调制解调技术的开发与应用,也允许数字信号在其上传输。这样,计算机、PLC这样的数字系统利用它进行通信也就有了可能。

如PLC要与计算机通过串口用固定电话通信,首先双方都要安装有调制解调器。并且要先拨号,得到对方应答,叫通(建立连接)后,通信才可进行。一旦双方建立连接,固定电话对通信过程将是透明的,如同串口间直接连线,电话不存在一样。

固定电话通信在早期的远程数据采集的系统中,曾常用到它。此外,固定电话还是互联网的接入接口之一。所以当使用互联网通信,它也是不可或缺的。

(2)移动电话通信。移动电话通信可使用发短信与PLC(GSM)通信,也可使用GPRS与PLC通信。

使用GSM通信可以不建立连接,不占用线路,费用是按流量收取,费用较低,很适合PLC把事件信息向计算机或其他PLC发送。但为了通信可靠,最好发去的信息能得到对方回应。这样的回应只要各方都运行了相关通信程序也不难实现。

使用GPRS(General Packet Radio Service)通用分组无线业务通信。其PLC要先通过其串口与如同手机那样的GPRS模块相连。并通过Windows超级终端对该模块做好移动通信标示号(类似手机号)及允许访问它的计算机IP地址等设定。然后,PLC上电、运行,通过移动通信的服务器接入移动通信网络(相当于手机上电后入网)。由于移动通信的服务器是与互联网也是相连的,这样,被这个PLC确认IP地址的计算机,只要也接入互联网,并运行相关应用程序,即可远程读写这个PLC数据,以至于控制PLC工作。

GPRS特点是:每个用户可同时占用多个无线信道,资源被有效的利用,数据传输速率高达160kbit/s;允许用户在端到端分组转移模式下发送和接收数据,而不需要利用电路交换模式的网络资源,从而提供了一种高效、低成本的无线分组数据业务;特别适用于间断的、突发性的、频繁的、少量的数据传输,也适用于偶尔的大数据量传输;用户可永远在线,但收费不是按时间计算,而是按流量计,服务成本也较低。

此外,由于移动电话技术的发展,目前已可利用它作为互联网的接入接口。如果PLC以太网模块也具备接入无线互联网能力,也可通过它利用互联网通信。

(3)有线电视网络。有线电视网络是基于光纤技术,传输速度很快。它的触角已深入到各个社区、工厂。是互联网很好接入接口。所以,使用它也可实现PLC与互联网对接,实现PLC与PLC,或PLC与计算机之间的通信。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈