研选课堂
HOME
研选课堂
正文内容
通用ge plc 编程 使用PLC自带功能实现不同厂家PLC之间的协议的解析及转达
发布时间 : 2025-05-01
作者 : 小编
访问数量 : 23
扫码分享至微信

使用PLC自带功能实现不同厂家PLC之间的协议的解析及转达

作为工程师,经常会用到各种品牌的设备,PLC等。而且在现场,经常会遇到不同设备之间需要走通讯的需求,但不同公司的设备支持的协议不尽相同。类似于来自不同国家的学生在同一公司协同工作,这时候我们怎么才能做到让不同的人能相互理解别人的意思呢?以往经常使用的方式是采用安装第三方或厂家自带的协议转换模块。类似于给设备安装不同的翻译器。这时候会增加很多成本,让预算紧张的项目雪上加霜。这时,有一个不成熟的想法在脑海中成型,既然物理口一样,要么是RS485,要么RJ45,要么CAN等,那我们是不是可以利用自带的功能,实现协议的相互认识?说干就干,接下来,让我们以Modbus为例,理解如何使用PLC自带功能实现不同厂家PLC之间的协议的解析及转达

第一步:解读Modbus协议

Modbus通信协议由Modicon公司(现已经为施耐德公司并购,成为其旗下的子品牌)于1979年发明的,是全球最早用于工业现场的总线规约。由于其免费公开发行,使用该协议的厂家无需缴纳任何费用,Modbus通信协议采用的是主从通信模式(即Master/Slave通信模式),其在分散控制方面应用极其广泛,从而使得Modbus协议在全球得到了广泛的应用。

1、Modbus协议解析

1.1 Modbus RTU协议中的指令由地址码(1Byte),功能码(1Byte),起始地址(2Byte),数据(N个Byte),校验码(2Byte)五个部分组成 ,其中数据又由数据长度(2Byte,表示的是寄存器个数,假定内容为M)和数据正文(M乘以2个Byte)组成,而且RTU协议是采用3.5个Byte的空闲时间作为指令的起始和结束,一般而言,只有当从机返回数据或者主机写操作的时候,才会有数据正文,而其他时候比如主机读操作指令的时候,没有数据正文,只需要数据长度即可。

Modbus 通用帧

1.2 Modbus TCP协议是在RTU协议上加一个MBAP报文头 ,由于TCP是基于可靠连接的服务,RTU协议中的CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码,用一句比较通俗的话说就是:Modbus TCP协议就是Modbus RTU协议在前面加上五个0以及一个6,然后去掉两个CRC校验码Byte就OK了。

2、长度计算:

早期串行链路上MODBUS 执行的长度约束限制了MODBUS PDU大小(最大RS485 ADU=256Byte).因此可以得到RTU及TCP的长度:

RTU MODBUS ADU = 253Byte+从站地址(1Byte) + CRC (2 Byte) = 256 Byte。TCP MODBUS ADU = 249Byte+ MBAP (7 Byte) = 256 Byte。

MODBUS 协议定义了三种 PDU。 它们是:

MODBUS 请求 PDU,mb_req_pduMODBUS 响应 PDU,mb_resp_pduMODBUS 异常响应 PDU,mb_excep_resp_pdu

定义 mb_req_pdu 为:

mb_req_pdu = { function_code, request_data},其中function_code - [1个Byte] MODBUS 功能码request_data - [n个Byte],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息。

定义 mb_resp_pdu 为:

mb_resp_pdu = { function_code, response_ data},其中function_code - [1个Byte] MODBUS 功能码response_data - [n 个Byte],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息。

定义 mb_excep_resp_pdu 为:

mb_excep_resp_pdu = { function_code, request_data},其中function_code - [1个Byte] MODBUS 功能码 + 0x80exception_code - [1个Byte],在下表中定义了 MODBUS 异常码。

Modbus TCP与Modbus RTU协议转换实例对比:

发送:

接收

3、超时时间计算 :该计算与波特率、设备运算能力、数据量等参数相关,本文主要以TCP为主,这里就不做赘述。有感兴趣的小伙伴们可以自行了解。

第二步:实例解读

本文以RA官网提供的Demo程序进行Modbus TCP Slave梯形图实现解读。

1、前提准备

实验设备:

硬件:

AB PLC :1769-L33ERM西门子PLC :S7-1517编译PC :DELL Latitude E5501

软件:

Modbus Slave PC端仿真:ModsimModbus Master PC端仿真:ModscanAB PLC程序编译环境:Studio5000 V32.11西门子PLC程序编译环境:TIA V16

注意点:

1、ModbusTCP 任务放在50-100ms的低优先级周期任务

2、西门子PLC可使用MB_SERVER 及MB_CLIENT 进行Modbus TCP通讯。

2、AB PLC程序流程

2.1:清空链接

2.2:创建Socket链接

2.3:Socket参数设定

2.4:获取网卡连接数

2.5:创建接收连接

2.6:Socket数据读取:读取到MBTI_Read_Resp字符组

2.7:协议解析和封装:

2.7.1:判断接收字符串是否为标准modbus格式

2.7.2:解析读取到的Modbus字符串,并根据命令字,利用不同标签进行应答数据处理

2.7.3:根据命令进行不同处理,线圈跳转到线圈处理处;寄存器跳转到寄存器处理处;

2.7.4:根据需要读取的起始地址、长度、将对应数据获取出来并复制到发送缓存区;

2.7.5:数据打包,将PDU打包成ADU

2.8 :Socket数据发送:将MBTI_Write_Data_Out数据发送到Socket

以上是实例是根据RA官网提供的Demo程序进行讲解如何使用 AB ControlLogix及CompactLogix系列PLC通过Socket方式进行Modbus TCP协议编写。由此可类比可制作其他基于Socket协议的协议解析及通讯。

最全的PLC通讯电缆编程电缆自制详解(图)

一. 前言

八方汇PLC实战培训

随着可编程序控制器(plc)在工业控制领域的广泛应用,plc编程成了电气工程技术人员必须掌握的专业技能。可编程序控制器的品牌众多,欧、美、日、韩及台湾的PLC纷纷抢滩大陆,在给使用者提供了多种选择的同时,也给使用者带来了小小麻烦。由于不同品牌PLC的编程电缆互不通用,买一根原装电缆往往上千元。对于以学习为主要目的以及经常碰到不同品牌PLC的技术人员来说,如果能够有办法花较低的代价自制一根编程电缆,无疑为他们提供了方便。PLC虽然品牌众多,但各种品牌的PLC其编程接口不外乎几种型式,在PLC随机提供的技术手册里一般也都会提供编程口的引脚定义,这就为自制编程线提供了可能。下面我就PLC编程口的几种串行通信接口标准和物理结构,详细说明如何DIY一根适用的编程电缆。

二.PLC编程口的型式

编程电缆一端与PC的COM口相连,另一端与PLC的编程口相连,PC端的COM口均为RS232C接口,DB-9针形插头。而PLC的编程口按接口标准一般可分为三种,即RS232、RS485、RS422 。按物理结构可分为五种,即八针圆口(DIN-8),九针D形口(DB-9),二十五针D形口(DB-25),RJ11口以及专用接口,其中以前两种居多,各接口引脚排列如图一所示。

为了做好编程电缆,首先要大概了解一下这三种串行通信接口标准。RS-232、RS-422与RS-485是三种串行数据接口标准,接口标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,所以同样一种接口标准可以有不同的物理结构,如DB-9 、DB-25等。RS-232是PC机与通信工业中应用最广泛的一种串行接口, RS-232C总线标准设有25条信号线,包括一个主通道和一个辅助通道。多数情况下只使用主通道,常用九条信号线(九针D形口),各引脚定义如表一所示。对于一般双工通信,仅需几条信号线就可实现,如发送数据线 TXD 和接收数据线RXD以及逻辑地线GND,RS232C只能点对点通讯,传输距离短,共模抑制能力差。 RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。它使用一对双绞线,将其中一根定义为A(TXD-/RXD-),另一根定义为B(TXD+/RXD+),不需要数字地线。速率在100kbps及 以下时通信距离达1200米以上。RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。RS-485只能实现半双工通信。表一:RS-232接口引脚定义25 针 9 针 缩 写 描 述2 3 TXD 发送数据3 2 RXD 接收数据4 7 RTS 请求发送5 8 CTS 允许发送6 6 DSR 通讯设备准备好7 5 GND 信号地8 1 CD 载波检测20 4 DTR 数据终端准备好22 9 RI 响铃指示器 RS-422接口标准主要是为克服RS-232接口标准的通讯距离短和传输速率慢而建立的。RS-422标准是一种以平衡方式传输的标准,使用二对双绞线,每个信号以两根信号线来传输,即发送数据TXD+ 、 TXD- ,接收数据RXD+ 、 RXD- ,逻辑电平是由两条传输线之间的电位差来决定的,由于采用了双线传输,大大增强了抗共模干扰的能力,因此最大数据速率可达10MbPs(传送15m时)。若传输速率降到90kbPs时,则最大距离可达1200m,可实现全双工通信。

三. PLC编程电缆的制作

各厂家的编程电缆的作用就是将PLC端的RS485、RS422格式的数据转换为PC端的RS232C格式的数据,PLC端如果是RS232则只要按规则直接连接即可。因此要自制PLC编程电缆,就必须将PLC端的RS485、RS422转换为PC机能够识别的RS232C,PC才能与PLC通信,完成下载、上传、监控等工作,这就涉及到一个接口标准转换的问题。实现接口转换有几种方法:一是用简易的电平转换电路,但一种电路只能针对一种PLC,且功能不全,性能也不太可靠,甚至可能会损坏PC机的串口;二是用专用的接口转换IC ,但业余实现起来比较复杂,不适合自制。这里我们使用一种成品通讯接口转换器,可以实现RS232/RS485/RS422的转换,由于是专用的通讯接口转换器,使用起来很方便且性能可靠,价格也比较低。该类产品市场上比较多,以四川德阳四星电子的产品SC-485C接口转换器为例,该转换器用于RS232到RS485/RS422的通讯转换,体积小巧,只有两个DB-9插头大小,采用串口窃电技术,不需外接电源。SC-485C的结构及引脚定义如图二所示。RS232端为DB-9的孔座,可以直接插在PC机的COM口上,RS485/RS422端为DB-9的针座, RS485时使用3脚和8脚, RS422时用3脚、8脚、1脚和7脚。利用该接口转换器制作编程电缆如图三所示。左侧为SC-485C接口转换器,右侧从上而下分别为DIN-8、RJ11、DB-9和DB25插头的编程电缆,电缆靠近接口转换器一边的插头均为DB-9孔型插头,另一头均为针插头,分别对应不同物理结构的PLC编程口。

接线时根据PLC端是RS485还是RS422选择对应的引脚,按照“发送接接收,接收接发送,正接正,负接负”的规律连接,SC-485C接口转换器与PLC RS485、RS422接口接线图和PC与PLC RS232接口接线见图四。图四

要做好一根编程电缆,除了要进行RS232/RS485/RS422之间的接口转换外,还必须了解PLC编程口各引脚的定义,因为即使是采用同一种接口标准,不同厂家的PLC其引脚分布也是不相同的。表二提供了几种主流PLC的引脚定义,供自制时参考。未列举的PLC可以查找随机的技术手册,也可以到网上找一个通用型人机界面(hmi)的说明书,在HMI与各厂家PLC联机的连线说明中可以找到市场上绝大多数PLC的引脚定义。表二 部份PLC编程口引脚定义PLC型号 接口标准 接口外形 引 脚 定 义S7-200 RS485 DB-9 3B/8ATIWDO/NEZA RS485 DIN-8 1A/2BLGmasterK系列 RS232 DB-9 2RXD/3TXD/5GNDFX2N/FX0N RS422 DIN-8 1RXD-/2RXD+/4TXD-/7TXD+OMRON CH200HS RS232 DB-9 2TXD/3RXD/7GND/4RTS/5CTSAB SLC503/504 RS232 3TXD/2RXD/5GND/7RTS/8CTSABB COMLI RS232 6TXD/ 7RXD/ 5GND(SLAVE MODE)KOYO DIRECT DL RS232 RJ11 4TXD/3RXD/1GND

四、结束语

一种原装电缆只能在一种PLC上使用,而一只接口转换器配上不同接插件可以组合成一套编程电缆,几乎可以在任何品牌的PLC上使用。接口转换器和接插件在通信市场都能买到,而且价格便宜,总成本仅需原装电缆价格的十分之一左右,制作也非常简便。自制的编程电缆可以在PC与PLC之间可以完成程序上传、下载、在线监控等功能,在功能和可靠性上比起原装电缆来可以说是毫不逊色。RS232转RS485自制线原理图

串行通讯电缆的制作 RS-232通讯电缆的制作无论是9孔插头,还是25孔插头,其串行通讯电缆连接时都要遵循下列对接关系:  SG←→SG TXD←→RXD RXD←→TXD RTS←→CTS  CTS←→RTS DTR←→DSR DSR←→DTR  根据上述对接关系,就可以非常方便地连接串行通讯电缆。这里顺便介绍一下上述各引脚所代表的含义:  SG英文全称为Signal Ground/Common Return,表示信号地;  TXD指Transmitted Data,表示数据发送;  RXD指Received Data,表示接收数据;  RTS指Request To Send,表示发送请求;  CTS指Clear To Send,表示清除请求;  DTR指Data Terminal Ready,表示数据终端准备就绪;  DSR指Data Signal Rate Selector,表示数据置位准备就绪。  在制作9芯串口连线时,需要2个9孔插头和1.5米长的至少7芯的扁平电缆,引脚连线如下所示。  9孔插头-9孔插头引脚连线为:2-3、3-2、4-6、5-5、6-4、7-8、8-7。  9孔插头-25孔插头引脚连线为:2-2、3-3、4-6、5-7、6-20、7-5、8-4。  25孔插头-25孔插头引脚连线为:2-3、3-2、4-5、5-4、6-20、7-7、20-6。

台达DOP系列触摸屏与各品牌PLC通讯连线1、GE VERMAX 编程电缆制作(电源模件第一个串口):

PLC PC(9 SUB MALE) (9 SUB FEMALE)2 (T) 2 (R)3 (R) 3 (T)5 (G) 5 (G)

2、GE 90—30系列(CPU351/352/363/364) 编程电缆制作(RS232端口 6脚RJ11型):PLC PC(6 RJ11 MALE) (9 SUB FEMALE)2 (T) 2 (R)5 (R) 3 (T)3 (G) 5 (G)3、GE 90-30、90-70、VersaMax 编程电缆制作(RS232端口 6脚RJ11型):PLC RS422/RSRS232 PC(15 SUB MALE) (9 SUB FEMALE)12 (T-) (R+) (T) 2 (R)13 (T+) (R-) (R) 3 (T)10 (R-) (T+) (G) 5 (G)11 (T+) (T-)9 (RT)6 (RTS-)15 (CTS-)6 (RTS+)15 (CTS+)4、GE公司生产的编程电缆(GE 90-30、90-70、VersaMax),在调试过程中不够长,需要延长,延长线的制作为同1注意一下,GE 90-70有两个15 SUB FEMALE串口,用第二个串口方能编程,即使用GE公司生产的编程电缆。

欧姆龙CPM1A編程電纜製作資料

一、 (如图)

二、欧姆龙plc编程电缆

制作三菱FX系列PLC编程电缆

用于三菱FX1S、FX1N、FX2N、FX2NC及A系列PLC编程使用。第一步:制作一根FX-422CABO。

第二步:制作一根F2-232CAB-1

第三步:把上以两根线的25针母接头和公插头对接。上图实际就是计算机的串口直接对应PLC的DIN8孔为;计算机 PLC2 23 75 36和8短接 6好了,一根三菱plc编程电缆SC-09就制作完成了。

三菱FX系列编程电缆 三菱PLC編程電纜製作資料

电脑与PLC/CQM1H系列的编程电缆XW2Z-200S-CV的制作PLC-PC:2-2 3-3 4-8 5-7 9-5LG PLC编程电缆制作方法使用RS232 串行口和屏蔽电缆制作。公2(白)〈-----〉母3(白),公3(黄)〈-----〉母2(黄)公5(红)《-----》母5(红),屏蔽层加护套焊接在金属外壳上。以上颜色为自定。假如线径太细接口卡不牢,可以先用电工胶带固定和加粗厚再安装接口外壳。

富士PLC编程电缆制作

制作方法如下:1.直连编程电缆 ,该制作方法当初是参考三菱PLC编程电缆制作方法。当初网上没有关于富士PLC编程电缆制作的方法,在触摸屏编程手册上看到富士PLC采用RS422通讯,并下载了通讯口图如图所示。开始准备用RS232/422转换器制作,单本地没有买到。想起三菱PLC也是RS422通讯,网上很多三菱编程电缆制作图,就下载了一个三菱接线图并制作了一个富士编程电缆。开始用电阻制作的编程电缆用V1.0中文版富士软件联机成功几率很低,10%左右。在车间用笔记本成功几率为0,就到郑州购买RS232/422模块制作另外一根编程电缆,谁知道用转换器制作的编程电缆在办公室成功几率0,车间就更不用说了。就一直使用电阻连接的编程电缆并把PLC拆到办公室输入程序再安装到车间。直到后来才有好心的工控朋友说V1.0中文版软件是在WIN98系统联机的软件,XP系统必须用V2.0以后的版本。下载安装V2.0版本软件,两种方法制作的编程电缆都可以用。【attach】42【/attach】4 RTX+ -------------------------5 GND6 TXD+ -------------------------5 GND3 RXD— ------2.2K电阻------3 RXD5 TXD— ------2.2K电阻------2 TXD将PLC的4(RXD+).6(TXD+)脚的导线与电脑9芯母头的5脚连接(该脚是RS232的地),3脚(RXD-)通过2.2k欧的电阻与9芯的3脚相连,5脚(TXD-)通过2.2k欧电阻与9芯的2脚相连2.通过RS232-RS422转换头相连到电脑市场购买一个RS232-422转换头(25元左右,比电阻连接的安全),按转换头的说明书的说明与8芯水晶头按RTX+接RTX+;RTX-接RTX-;TXD+接TXD+;TXD-接TXD-连接就可。后有朋友联机不成功,我总结有以下原因导致他们没有成功:1 如果有USB/RS232转换器,注意转换器必须单独供电,如果转换器可以用+5V供电,可以直接用PLC的+5V电源 。如果转换器是+9V供电的可能需要另外增加一个直流电源了;2 软件必须用2.0英文版本,1.0中文版本可以在下面编程用,1.0在WIN98系统可用,在XP 系统联机成功率不高(偶然可以成功一次)。3 判断接线是否正确,可以把水晶头插到PLC编程口(PLC NB2有一个口不是编程口,不要插错)测量+5V是否是1/7和2/8脚。好几个朋友都是把水晶头上下程序弄错 。好几个朋友都是把通讯口1~8的次序弄颠倒了,插到PLC通讯口后测量1脚和2脚+5V极性判断是否接错。

富士spb plc的编程电缆内部接线图!一端8芯水晶头 一端rs232 9孔RJ45端 3-----TD+ ; 4-----TD- ; 5-----RD+ ; 6-----RD- ; 1,2,7,8---NCSPB为RS422模式,因此令一端你需要一个RS232转RS422的转换器~~然后对应著转换器上的引脚分布进行接线。另低版本的软件会导致通讯失败,请使用高版本的软体。

F930GOT-BWD-C的编程电缆PC HMI2--------33--------24--------6.85--------56.8-----44400与OMRON CP1H的通讯电缆制作plc-----------hmi3 32 29 54,5短自制松下PLC(FP0)编程电缆图

相关问答

GEPLC如何配置?

首先要确定PLC的CPU型号,是否双机热备等,双机热备首先进行主机架配置。然后确定分站数量,GE的plcIO站一般采用比较经济的versamax,首先是电源模块,然后是GB...

GEPLC连接后程序无法上传电脑?

打开本地连接里面显示本地连接的对话框,此时备用。然后右键左下角win10的图标选择计算机管理,选择服务与应用程序,选择服务,在服务里找到networksetupserv...

GEPLC编程软件问题-盖德问答-化工人互助问答社区

ge的mark系统吗,我接触过一段时间!回复1#wullen1。%i:开关量输入通道地址开头部分;%q:开关量输入通道地址开头部分;%m:应用程序中的布尔中间变...

由plc采集数据到组态软件里面,plc的程序应该怎样写啊!-盖德...

如果是通过modbus,我做过geplc和abbac800f的,就是读寄存器里的数据。要加modbus卡回复1#清泉东子每个组态软件都有个数据库,这个数据库可以选...

什么是GEAB运作系统?

是两家公司。GE和罗克韦尔是两家不同的公司,AB(Allen-Bradley)是罗克韦尔自动化下属的一个重要品牌。两家公司的PLC也不一样。ABPLC现在主要有:高端的Con...

谁有GEPLC的培训内容,一般培训几天?

我有一份在北京精诚智和教育科技公司培训过的GEPLC培训内容,是去年给我们公司做GEPLC企业内训的内容,我们做了4天,企业需求不同,培训天数也不同:1、GEP...

geplc上载程序需要停机吗?

1.需要停机。2.因为在上载程序的过程中,需要将程序从计算机传输到PLC中,这个过程需要通过串口或者以太网等通信方式进行,而在这个过程中,PLC需要停机才能接...

PLC内部程序怎么备份?

备份电脑上已存在对应的CPU类型的文件,则:1.连接PLC与PC通讯端子(RS-422)2.双击打开Gppa3.Fileread选择对应盘符回车选择对应的目录文件出现re...

西门子的PLC与GE的PLC有什么不同?

1、西门子是德国的牌子,质量上比国产的整体的稳定性和抗干扰等性能都要好2、编程软件是西门子专用,自成一系,和三菱、欧姆龙的差别很大1、西门子是德国的牌...

plc编程谁家的好用?

很高兴回答的问题!就市场占有率来看,西门子最大,其次是三菱、欧姆龙。具体谁家好用,这个不能一概而论,还取决于编程人员对其使用的熟练程度。西门子PLC又...很...

 扑克分析软件  喜钻 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部