PLC通讯连线

PLC通讯连线
PLC通讯连线

台达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+)

注意一下,GE 90-70有两个15 SUB FEMALE串口,用第二个串口方能编程,即使用GE公司生产的编程电缆。

4、GE公司生产的编程电缆(GE 90-30、90-70、VersaMax),在调试过程中不够长,需要延长,延长线的制作为同1

注意一下,GE 90-70有两个15 SUB FEMALE串口,用第二个串口方能编程,即使用GE公司生产的编程电缆。

台达DOP系列触摸屏与各品牌PLC通讯连线

西门子s7-200和300编程电缆制作方法

自制PLC编程电缆

摘要:由于品牌不同的PLC其编程电缆不能通用,而原装编程电缆又价格不菲,给学习和使用PLC带来了不便。本文通过分析PLC编程口的几种通信接口标准和物理结构,详细说明了各种不同接口形式的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端的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/8A

TIWDO/NEZA RS485 DIN-8 1A/2B

LGmasterK系列RS232 DB-9 2RXD/3TXD/5GND

FX2N/FX0N RS422 DIN-8 1RXD-/2RXD+/4TXD-/7TXD+

OMRON CH200HS RS232 DB-9 2TXD/3RXD/7GND/4RTS/5CTS

AB SLC503/504 RS232 3TXD/2RXD/5GND/7RTS/8CTS

ABB COMLI RS232 6TXD/7RXD/5GND

(SLAVE MODE)

KOYO DIRECT DL RS232 RJ11 4TXD/3RXD/1GND

表二

四、结束语

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

引用| 回复

| 2010-06-19 21:35:46 5楼

工控网论坛管理员

s7-200:PPI通讯方式1:用siemens的PPI编程电缆2:用rs232/485转换器,485与plc的PPI口的连接方式是:3-Data+8-Data-s7-300、400:通过MPI通讯,用siemens的适配器(PC-Adapter),适配器的一端直接和plc的MPI口相连,适配器的另一端采用下面的连接方式。1-1 2-3 //发送端3-2 //接收端4-6 //发送确认5-5 //共地6-4 //接收确认7-8 //发送完成8-7 //接受完成9-9 Profibus:1:用专用电缆,一般是A1-A1 B1-B1 2: 自己制作3-3 8-8

施奈德编程电缆制作。

引用| 回复

| 2010-06-19 21:42:57 7楼

工控网论坛管理员

WEINVIEW触摸屏的编程电缆制作:

引用| 回复

| 2010-06-19 21:46:53 8楼

工控网论坛管理员

AB的SLC 5/03 编程电缆的制作

2-3 3-2 4-6+1 6+1-4 7-8 8-7 5-5

引用| 回复

| 2010-06-19 21:49:32 9楼

工控网论坛管理员

欧姆龙PLC编程电缆

引用| 回复

| 2010-06-19 21:50:30 10楼

工控网论坛管理员

富士spb plc的编程电缆内部接线图!

一端8芯水晶头一端rs232 9孔

RJ45端3---------TD+

4---------TD-

5---------RD+

6---------RD-

1,2,7,8------NC

SPB为RS422模式,因此令一端你需要一个RS232转RS422的转换器~~然后对应著转换器上的引脚分布进行接线。

另,低版本的软件会导致通讯失败,请使用高版本的软体。

引用| 回复

| 2010-06-19 21:54:47 11楼

工控网论坛管理员

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

用于三菱FX1S、FX1N、FX2N、FX2NC及A系列PLC编程使用。

第一步:制作一根FX-422CABO。

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

第三步:把上以两根线的25针母接头和公插头对接。

好了,一根三菱PLC编程电缆SC-09就制作完成了。

引用| 回复

| 2010-06-19 22:02:16 12楼

工控网论坛管理员

电脑与PLC/CQM1H系列的编程电缆XW2Z-200S-CV的制作

PLC-PC:2-2 3-3 4-8 5-7 9-5

引用| 回复

| 2010-06-19 22:04:50 13楼

工控网论坛管理员

LG PLC编程电缆制作方法

使用RS232 串行口和屏蔽电缆制作。

公2(白)〈-----〉母3(白),

公3(黄)〈-----〉母2(黄)

公5(红)《-----》母5(红),

屏蔽层加护套焊接在金属外壳上。

以上颜色为自定。假如线径太细接口卡不牢,可以先用电工胶带固定和加粗厚再安装接口外壳。

引用| 回复

| 2010-06-19 22:06:44 14楼

工控网论坛管理员

触摸屏WeinView/EasyView编程电缆制作方法

引用| 回复

| 2010-06-19 22:09:11 15楼

工控网论坛管理员

富士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 GND

6 TXD+ -------------------------5 GND

3 RXD—------2.2K电阻------3 RXD

5 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极性判断是否接错。

引用| 回复

| 2010-06-19 22:13:29 16楼

工控网论坛管理员

制作AB SLC500/03的编程电缆

R232C采用9针D型插头。

2-3,

3-2

5-5

4-6

7-8

两头都用凸型插头即可。

plc\mcu\微机,所有232接口都用这种连接方式。

引用| 回复

| 2010-06-19 22:15:04 17楼

工控网论坛管理员

三菱PLC編程電纜製作資料

引用| 回复

| 2010-06-20 14:05:02 18楼

工控网论坛管理员

s7200与TP170B通讯电缆的制作3--3; 8--8.

引用| 回复

| 2010-06-20 14:06:36 19楼

工控网论坛管理员

F930GOT-BWD-C的编程电缆PC HMI

2--------3

3--------2

4--------6.8

5--------5

6.8-----4

引用| 回复

| 2010-06-20 14:16:23 20楼

工控网论坛管理员

4400与OMRON CP1H的通讯电缆制作

plc-----------hmi

3 3

2 2

9 5

4,5短

引用| 回复

| 2010-06-20 14:18:14 21楼

工控网论坛管理员

串行通讯电缆的制作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。

引用| 回复

| 2010-06-20 14:23:49 22楼

工控网论坛管理员

三菱FX系列编程电缆

引用| 回复

| 2010-06-20 14:25:01 23楼

工控网论坛管理员

西门子PLC编程电缆

引用| 回复

| 2010-06-20 14:26:04 24楼

工控网论坛管理员

RS232转RS485自制线原理图

引用| 回复

| 2010-06-20 21:31:26 25楼

工控网论坛管理员

AB的PLC编程电缆

引用| 回复

| 2010-06-20 21:32:39 26楼

工控网论坛管理员

自制松下PLC(FP0)编程电缆图

引用| 回复

| 2010-06-21 08:22:49 27楼

工控网论坛管理员

手头有相关资料的拿出来分享吧!跟帖方式,希望能收集到大部分常用的编程电缆制作方式。引用| 回复

| 2010-06-22 20:31:54 28楼

叶宵飞翔

多谢楼主啊!你才是真的为工控着想的人啊!人才啊!小弟学习噜!

引用| 回复

| 2010-06-22 21:17:53 29楼

小温0001

多谢楼主啊,我正在找相关资料,感谢你提供了!

引用| 回复

| 2010-06-23 08:28:54 30楼

lankaiqiaoshi

楼主精神可嘉,支持!!!!!!!

引用| 回复

| 2010-06-23 09:44:30 31楼

wudingshi

哗,好复杂哦,那么光纤光缆的图呢

引用| 回复

| 2010-06-24 16:26:37 32楼

tyf491914001

回复内容:

对:工控网论坛管理员关于

三菱PLC編程電纜製作資料

大哥能用吗,

VB控件Mscomm控件与PLC进行RSModbus通讯源码

V B控件M s c o m m控件与P L C进行 R S M o d b u s通讯源码集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

V B控件M s c o m m控件与P L C进行R S485(M o d b u s)通讯源码本人用的是ModbusRTU通讯模式,通过计算机串口转RS485与外围设备通行通讯,读写外围设备指定地址里的数据,从而达到自动化控制远端设备。 DimHiByteAsByte DimLoByteAsByte DimCRC16LoAsByte DimCRC16HiAsByte DimReturnData(1)AsByte DimKAsInteger DimCmdLenthAsInteger PrivateSubCommand1_Click() K=Text9.Text'写6个字节 Text13.Text="" '===========数组赋值输入代码 =============================================================== ======================== '<<算法一>> DimWriteStr()AsByte DimuAsInteger ReDimWriteStr(K+2)

Foru=0ToK WriteStr(u)=Val("&H"&Text1(u).Text) Next '<<算法二>> DimCRC_2()AsByte DimvAsInteger ReDimCRC_2(K) Forv=0ToK CRC_2(v)=Val("&H"&Text1(v).Text) Next '============================================================== ==================================== CallCRC161(CRC_2()) CallCRC16(WriteStr(),K) MSComm1.InBufferCount=0 '==========显示发送代码 =============================================================== ========================= DimmAsInteger Form=0To23 Ifm<=KThen Text8(m).Text=Hex(WriteStr(m))

VB与AB的PLC之间通讯

VB与AB的PLC之间通讯 2007-05-31 来源:西部工控网浏览:300 [推荐朋友] [打印本稿] [字体:大小] VB与AB PLC之间通讯 AB系列PLC一般都有专用驱动程序用于实现PLC和计算机之间通讯,如RSLINX 就是专门用于做这项工作,但使用RSLINX也具有一定局限性,这里提供一个使用VB编程实现PLC和计算机之间通讯程序,使用协议是DF1,可以支持Micrologix、SLC500等系列PLC。使用代码如下: Option Explicit Dim tns%, comunicating Private Sub Command1_Click() ReDim tb%(10) Dim st If ReadTable(0, tb%()) Then For st = 0 To 9 '显示结果 Text1.SelText = Str(tb%(st)) + Chr(32) Next st Text1.SelText = Chr(13) + Chr(10) End If End Sub Private Sub Command2_Click() ReDim tm%(5) tm%(0) = Rnd * 32768 tm%(1) = Rnd * 32768 tm%(2) = Rnd * 32768 tm%(3) = Rnd * 32768 tm%(4) = Rnd * 32768 If Not WriteTable(4, tm%()) Then Text1.SelText = "写入错误!!" End Sub Private Sub Exit_Click() Unload Me End End Sub Private Sub Form_Load() Comm1.PortOpen = True End Sub

VB与S7 200通讯

本文以下内容为采用VB6.0设计人机界面的工业控制计算机与S7-200PLC 自由口通信进行的方法。 常规的通过PC机,利用PLC对工艺对象的控制,大多都是在具有组态软件或通讯模块的情况下进行,但是对于一些小型的控制系统而言,由于受到简单实用和成本低的原则限制,不适合使用常规方法。利用Visual Basic结合PLC中的通信语言进行编程,实现上位机与PLC之间,在无通讯模块情况下的数据信息的双向通信传输。 SIMATIC S7-200内部集成的PPI接口物理特性为RS485,可在多种模式下工作,其中自由口通信方式是S7-200PLC的一个很有特色的功能,它可以与任何协议公开的其它设备、控制器等进行通信。上位机串口符合RS-232C标准协议,为了实现两者的通信必须进行协议转换,可以利用PC/PPI电缆连接两者,并同时完成协议转换的任务。 控制系统组成 基于VB和PLC的液压试验台监控系统结构如下图所示,主要由上位机监控系统和下位机控制系统组成。 VB6.0提供了串行端口通信控件MSComm,该控件封装了通信过程的底层操作,用户只需设置MSComm控件的属性和对相应的事件进行编程,即可完成串行通信功能。 MSComm控件提供了事件驱动和查询2种处理通信的方法,其中事件驱动方法通过设置CommEvent、Rthreshold等属性实现对MSComm控件的OnComm 事件驱动;查询方法则通常通过OutPut属性直接写输出缓冲区,且通过InPut 属性直接读输入缓冲区实现。因为事件驱动方法程序响应及时、可靠性高,所以本系统采用事件驱动方法实现工控机与PLC之间的串行通信。 1.S7-200PLC的自由口通信 西门子S7-200系列PLC的CPU支持多样的通信协议,如PPI接口协议、

VB与PLC的通信

利用VB6.0 实现PC 与三菱PLC 的通信 本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用编程电缆作为计算机与 PLC 通信的连线。 FX2系列PLC的编程接口采用RS-422标准,而计算机的串行口采用的是RS-232标准,因此作为实现PLC与计算机通信的接口模块FX-232AW,必须将RS-422标准转换成RS-232标准,同时在实现上述过程中采用光电隔离技术。 图1 一、串口的相关知识 1)串行通信的概念 图2 所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图2所示。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢 2)常见的串口通信规约: 目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,且直接用RS232相连。RS-232C: “1”=-3~-15;“0”=+3~+15速率:0~20000bps;一般传输距离:15m。RS-422:采用平衡传输,平衡发送器、差动接收器,速率:10Mbps/15m;90Kbps/1200m抗干扰能力强。

DB9和DB25的常用信号脚说明 由于FX 2-232AW 价格过贵所以我们选用选用MAXIM 公司的MAX202实现RS-232与TTL 之间的电平转换。MAX202内部有电压倍增电路和转换电路,仅需+5V 电源就可工作,使用十分方便;选用MAX490实现RS-485与TTL 之间的转换。每片MAX490有一对发送器/接收器,由于通信采用全双工 方式,故需两片MAX490,另外只需外接4只电容即可。PLC 的RS-422接口配接DB-25型连接器,而PC 机我们一般用DB-9型连接器。硬件电路图如上。 二、 通信控制线的连接 如图3,由于计算机的RS-232接口的4脚和5脚短接,因此,对计算机发送数 据来说,PLC 总是处于数据就绪状态。也就是说,计算机在任何时候都可以将数据送到PLC 内。又由于RS-232的接口的20脚和6脚交叉相连接,因此,对计算机接受数据来说,就必须检测PLC 是否处于准备就绪状态。如果6脚为1,这可以接受数据:如果6脚为0,则必须等待,直到为1时,才可以接受数据。

VB与PLC通信程序.doc

VB与PLC通信程序(欧姆龙PLC)(2007-08-01 21:00:11) 关于VB的MSCOMM控件可参考相关资料。通信程序摘要如下: (1)初始化程序 https://www.360docs.net/doc/d55575831.html,mport=2 ’选择COM2 Mscomm1.Settings=”9600,N,8,2”’设置通信参数 Mscomm1.Inputlen=0 ’读入接收缓冲区全部字符 Mscomm1.OutbufferSize=256 ’设置发送缓冲区大小 Mscomm1.InbufferSize=512 ’设置接收缓冲区大小 Mscomm1.PortOpen=True ’打开COM2 (2)发送命令程序 比如读取节点号03的PLC中IR000到IR009的内容,并放到tag1字符串变量中,此时有: Dim Command, node, begin, number as string Dim Answerlen as integer node=”03”’节点号 Command=”RR”’命令为读IR区 begin=”0000”’从IR000开始 number=10 ’读取长度 Answerlen=51 ’计算接收字符串长度 进行命令发送和接收应答处理: Dim FCS, I as integer Dim s ,f as string s=”@”+node+Commad+begin+number FCS=0 For i=1 to Len(s) FCS=FCS xor Asc(Mid$(s,i,1) ) ’帧校验码FCS Next i f=Hex$(FCS) If Len(f)=1 Then f=”0”+f Commfrm.MSComm1.Output=s + f + ”*” + CHR$(13) ’命令帧发送 Do Dummy=DoEvents() Loop Untill Commfrm.MSComm1.InbufferCount >= Answerlen ’等待应答帧 Do tag1= Commfrm.MSComm1.Input Loop Untill Commfrm.MSComm1.InbufferCount=0 ’读完应答帧 上述程序具有相当的通用性,对于其它设备不同的只是各自的数据帧格式,因而只需做相应少量修改即可。

三菱PLC与PC上位机VB通讯

三菱PLC与PC上位机VB通讯 三菱PLC:FX1N + FX1N-232-BD FX2N + FX2N-232-BD 计算机:Windows XP中文企业版+ V isual Basic 6.0中文企业版 Windows 98中文版+ V isual Basic 6.0 中文企业版 两者之间连接使用的是FX-232CAB-1电缆线(2-3,3-2,4-6(8),5-5) 一.三菱PLC的设置 三菱FX PLC在进行计算机链接(专用协议)和无协议通讯(RS指令)时均须对通讯格式(D8120)进行设定。其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等。在修改了D8120的设置后,确保关掉PLC的电源,然后再打开。 此外,对于采用RS485形式1:N计算机链接的还必须对站点号(D8121)进行设定。设定的范围从00H到0FH(即0到15)。 在这里对D8120采用下述设置: b15 b0 0110 1000 1000 1110 6 8 8 E 即数据长度为7位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,采用计算机链接(RS-232C),自动添加和校验码,采用专用协议格式1。 同时设定站号为0。具体设定如下所示: FX PLC进行计算机链接时可用的专用协议有两种:格式1和格式4。两种格式的差别在于是否在每一个块上添加了CR + LF,其中添加了CR + LF的是格式4。在这里采用格式1。 二.上位机程序的编制 这里采用Microsoft公司的Visual Basic 6.0中文企业版编制上位机程序。 Visual Basic中提供了一个名为MSComm的通信控件便于设计串行通信的程序。MSComm控件的主要属性有: 1.CommPort属性 CommPort属性用于指定所要使用的串行端口的号码。虽然Windows操作系统可以容纳最多256个串行通信端口,不过Visual Basic的MSComm控件则仅限于16个端口。 2.Settings属性 Settings属性用于设置初始化参数。以字符串的形式设置波特率、奇偶校验、数据位、停止位等4个参数。其格式为“BBBB,P,D,S”,其中BBBB表示波特率,P表示奇偶校验位检查方式,D表示数据位数,S表示停止位数。一般情况下,欧美仪器习惯使用“9600,n,8,1”当成设置值;而日本仪器则习惯使用“9600,e,7,2”作为设置值。Settings设置完成之后,所传输及接受的字符串便以此设置为准,使用RS-232通信的双方,Settings必须完全一样,彼此才能顺利地通信,否则双方将无法正确接收到彼此所传输的信号。所以,该属性的设置必须和三菱PLC中D8120的相关设置保持一致。在这里,统一采用“9600,e,7,2”的设定。

VB与PLC通信程序(欧姆龙PLC)

VB与PLC通信程序(欧姆龙PLC) 分类:| 转自:原文地址被1人转藏+放进我的宝盒2010-9-2 21:45:46 VB与PLC通信程序(欧姆龙PLC) 关于VB的MSCOMM控件可参考相关资料。通信程序摘要如下: (1)初始化程序 https://www.360docs.net/doc/d55575831.html,mport=2 ’选择COM2 Mscomm1.Settings=”9600,N,8,2”’设置通信参数 Mscomm1.Inputlen=0 ’读入接收缓冲区全部字符 Mscomm1.OutbufferSize=256 ’设置发送缓冲区大小 Mscomm1.InbufferSize=512 ’设置接收缓冲区大小 Mscomm1.PortOpen=True ’打开COM2 (2)发送命令程序 比如读取节点号03的PLC中IR000到IR009的内容,并放到tag1字符串变量中,此时有: Dim Command, node, begin, number as string Dim Answerlen as integer node=”03”’节点号 Command=”RR”’命令为读IR区 begin=”0000”’从IR000开始 number=10 ’读取长度 Answerlen=51 ’计算接收字符串长度 进行命令发送和接收应答处理: Dim FCS, I as integer Dim s ,f as string s=”@”+node+Commad+begin+number FCS=0

For i=1 to Len(s) FCS=FCS xor Asc(Mid$(s,i,1) ) ’帧校验码FCS Next i f=Hex$(FCS) If Len(f)=1 Then f=”0”+f Commfrm.MSComm1.Output=s + f + ”*”+ CHR$(13) ’命令帧发送 Do Dummy=DoEvents() Loop Untill Commfrm.MSComm1.InbufferCount >= Answerlen ’等待应答帧 Do tag1= Commfrm.MSComm1.Input Loop Untill Commfrm.MSComm1.InbufferCount=0 ’读完应答帧 上述程序具有相当的通用性,对于其它设备不同的只是各自的数据帧格式,因而只需做相应少量修改即可。

modbus与plc通讯 vb程序caoxi

该程序可以实现实时数据采集显示,以及能对寄存器进行设置。 程序很简单,想用的可以完善,现在只能实时采集显示一个地址的数据,只要修改一下,就可以实时采集多个地址的数据。现在也只能一次对一个寄存器进行设置,也可以更加完善。 下面是运行界面,采集的模块的地址为75,是一个温湿度采集模块。有3个寄存器,显示的数据上是温度,湿度,露点温度。 modbus Private Sub Command1_Click() '设置按钮 Dim bisend() As Byte Dim crc Dim btLoCRC As Byte, btHiCRC As Byte Dim Data As Integer If MSComm1.PortOpen = True Then If Combo5.ListIndex = 0 Then ReDim bisend(7) '重新定义数组长度 bisend(0) = "&h" + Hex(V al(Text1.Text)) '地址码 bisend(1) = "&h" + Hex(3) '功能码读寄存器 bisend(2) = "&h" + Hex(0) '起始地址高位 bisend(3) = "&h" + Hex(0) '起始地址低位 bisend(4) = "&h" + Hex(0) '寄存器个数高位 bisend(5) = "&h" + Hex(Combo6.ListIndex + 1) '寄存器个数低位 crc = CRC16(bisend, 6, btLoCRC, btHiCRC) bisend(6) = "&h" + Hex(btLoCRC) 'CRC高位 bisend(7) = "&h" + Hex(btHiCRC) 'CRC低位 '发送数据 MSComm1.Output = bisend Else ReDim bisend(10) '一次只能写一个寄存器 bisend(0) = "&h" + Hex(V al(Text1.Text)) '地址码 bisend(1) = "&h" + Hex(16) '功能码写寄存器 bisend(2) = "&h" + Hex(0) '起始地址高位 bisend(3) = "&h" + Hex(0) '起始地址低位 bisend(4) = "&h" + Hex(0) '寄存器个数高位 bisend(5) = "&h" + Hex(1) '寄存器个数低位 bisend(6) = "&h" + Hex(2) '字节数 Data = Val(Trim(Text3.Text)) bisend(7) = "&h" + Hex(Data \ 256) '要写入寄存器的值的高字节 bisend(8) = "&h" + Hex(Data Mod 256) '要写入寄存器的值的低字节

VB与三菱PLC通信

V B与三菱P L C通信 VB源代码下载 PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目的是为了示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详细介绍了FX系列PLC的通信协议,并现了PC机与FX系列PLC之间的串行通信。本文对FX系列PLC的通信协议进行了详细的介绍,并以 1前言 PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目的是为了示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详细介绍了FX系列PLC的通信协议,并现了PC机与FX系列PLC之间的串行通信。 2PC机与PLC实现通信的条件 带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信: (1)带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。还要求双方采用的总线标准一致 (2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。 (3)要对PLC的通信协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通信程序。PLC中 3PC机及与FX系列PLC的串行通讯 3.1硬件连接 PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-422的 3.2FX系列PLC的通信协议 在PC机中必须依据互联的PLC的通信协议来编写通信程序,因此先介绍FX系列PLC的通信协议。 (1)数据格式 FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,波特率为9 (2)通信命令 FX系列PLC有4个通信命令,它们是读命令、写命令、强制通命令、强制断命令,如下表所示。表中X元件;T—定时器;C—计数器;D—数据寄存器。 (3)通信控制字符 FX系列PLC采用面向字符的传输规程,用到5个通信控制字符,如下表所示。

VB上位机与PLC通信

随着现代信息技术的发展以及计算机网络的广泛应用,计算机通信技术已经日趋成熟。作为传统的计算机通信方式的串行通信,由于具有线路简单、应用灵活、可靠性高等一系列优点长期以来获得了广泛的应用。计算机串行通信在数据财经、数据通信、故障检测、计算机远程监控等方面有广泛的实用价值,特别在Windows下的串口通信可以充分利用Windows 下的软件资源优势,实现多任务条件下对外部的数据传输、信息收集和处理。在本系统中,我们采用了性能/价格比较高的计算机构成厂级的监控工作站。在PLC与上位计算机之间采用RS-485和RS-232C标准通信接口进行通信。 在两级计算机控制系统中,最不稳定的环节就是上位机。为了保证系统的稳定性,避免因上位机的故障导致系统控制失灵,所有采集到的信号都反馈到PLC当中。上位机需要通过串行通信取得所需的数据信息,并通过串行通信将必要的控制信息和参数设置信息写入PLC 的数据存储区。因此,串行通信作为上位机和下位机联系的唯一方式,在整个系统中具有非常重要的作用。 1.1上位机与PLC间的串行通信 计算机与计算机或计算机与外部设备之间的数据传输和交换的方式主要有串行通信和并行通信两种方式,其中串行通信指的是数据逐位传输的方式。由于串行通信方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 1.1.1串行通信 串行通信方式又可分为两种:同步串行通信方式和异步串行通信方式。 1.同步串行通信方式:同步串行通信是以数据块(字符块)为信息单位传送,每帧信息可以包含很多字符。同步通信要求通信双方以相同的速率进行,而且要准证确协调,通常通过共

VB控件Mscomm控件与PLC进行RS485(Modbus)通讯源码

VB控件Mscomm控件与PLC进行RS485(Modbus)通讯源码 本人用的是Modbus RTU通讯模式,通过计算机串口转RS485与外围设备通行通讯,读写外围设备指定地址里的数据,从而达到自动化控制远端设备。 Dim HiByte As Byte Dim LoByte As Byte Dim CRC16Lo As Byte Dim CRC16Hi As Byte Dim ReturnData(1) As Byte Dim K As Integer Dim CmdLenth As Integer Private Sub Command1_Click() K = Text9.Text '写6 个字节 Text13.Text = "" '=========== 数组赋值输入代码=============================================================================== ======== '<< 算法一>> Dim WriteStr() As Byte Dim u As Integer ReDim WriteStr(K + 2) For u = 0 To K WriteStr(u) = Val("&H" & Text1(u).T ext) Next '<< 算法二>> Dim CRC_2() As Byte Dim v As Integer ReDim CRC_2(K) For v = 0 To K CRC_2(v) = Val("&H" & Text1(v).Text) Next '============================================================================== ==================== Call CRC161(CRC_2())

VB与三菱PLC通信

VB与三菱PLC通信 VB源代码下载 https://www.360docs.net/doc/d55575831.html,/download.action?t=40&k=MTQzOTcxMTM=&pcode=LCw1NTkwMzYsNTU5MDM2&r PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间的协议进行了详细的介绍,并以VB为开发工具实现了PC机与FX系列PLC的串行通信。 1前言 PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间的 2PC机与PLC实现通信的条件 带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信: (1)带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。还要求双方采用的总线元”变换之后才能互联。 (2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。 (3)要对PLC的通信协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通信程序。程。 3PC机及与FX系列PLC的串行通讯 3.1硬件连接 PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-接关系: 3.2FX系列PLC的通信协议 在PC机中必须依据互联的PLC的通信协议来编写通信程序,因此先介绍FX系列PLC的通信(1)数据格式 FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,波I码。

台达PLC与VB通讯简易教程

VB 實現電腦與台達PLC 的串列通信 ───────PLC 產品處 王乃全 摘要:本文介紹了Visual Basic6編程語言,MODBUS ASCII 通信協定及通過VB 如何實現 與台達DVP PLC 的通信 關鍵字:Visual Basic MODBUS ASCII PLC 前言: 現代的世界是一個高度自動化的世界,各式各樣的設備都可以和電腦連線,而最簡單的自動化連線方式就是使用串列通信。 VB 提供了串列通信控制項可以讓開發者開發串列通信的系統程式,功能上也提供了不少為用戶著想的簡便之處。 PLC 是現在控制領域不可缺少的部分,已經非常普及,如何簡便的與PLC 交互已經成為眾多廠商新的競爭戰場。由此產生了人機界面、組態軟體等產品。這些產品的產生大大簡化了對PLC 的控制,操作,使用更方便。但也有共同的缺點:價格過高和開發性較差。VB 作為“原始"的編程語言在這兩方面無疑有著明顯的優勢。 本文結合一個簡單的案例,用比較基礎的概念為大家展示如何通過VB 實現PC-PLC 的通信,對於初涉這個領域的工程師,也會受益與本文提供的基本概念。 一、串列通信基本概念 1、 通信的種類:通常通信的形式可以分為兩種,並行通信(Parallel Communication )和串 列通信(Serial Communication )。所謂並行,既是一次傳輸量為8位;而串列一次只傳1位元。這兩種不同的通信模式如圖 平行傳輸 串列傳輸 2、 串列通信

常用的串列通信也有兩種。分別位RS-232和RS-485 2-1 RS-232 RS-232的信號准位元乃是參考地線而來的,如圖,傳輸端參考接地端1來傳送資料;接收端則參考接地端2還原出傳送端的信號準備。 接地端1 接地端2 由圖可知,由於兩個接地端准位不一定一樣,而且很容易受到干擾,所以信號在RS-232線路傳輸時,很容易產生錯誤。 2-2 RS-485 RS-485的信號傳輸方式如圖。 接地點1 接地點2 RS-485的信號將被傳送出去時會分成正負兩條線路,當到達接收端後,在將信號相減還原成原來的信號;如果將原始的信號表示成(DT),而被分成的信號分別標示成(D+)及(D-),則DT= (D+)-(D-) 同樣地,接收端在接收到信號後,也依據上式還原成原來的樣子。如果線路受到干擾,兩條線路的信號分別為(D+)+Noise (D-)+Noise。接收端還原信號為 (DT)= [(D+)+Noise]-[ (D-)+Noise] 與先前結果一樣,所以RS-485可以有效的防止雜訊的干擾。

vb与plc通讯(以西门子S7-200为例)

vb与plc通讯(以西门子S7-200为例) S7-200 PLC之PPI协议 通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发。采用这种方式,PLC 编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。 SIEMENS S7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。 软件设计 系统中测控任务由SIEMENS S7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。计算机的监控软件采用VB编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为PPI协议。 PPI协议 西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。这样收发两次数据,完成一次数据的读写[5]。 其通讯数据报文格式大致有以下几类: 1、读写申请的数据格式如下: SD LE LER SD DA SA FC DASP SSAP DU FCS ED SD:(Start Delimiter)开始定界符(68H) LE:(Length)报文数据长度 LER:(Repeated Length)重复数据长度 SD: (Start Delimiter)开始定界符(68H) SA:(Source Address)源地址,指该地址的指针,为地址值乘以8 DA:(Destination Address)目标地址,指该地址的指针,为地址值乘以8 FC:(Function Code)功能码 DSAP:(Destination Service Access Point)目的服务存取点 SSAP:(Source Service Access Point)源服务存取点 DU:(Data Unit)数据单元 FCS:(Frame Check Sequence)校验码 ED:(End Delimiter)结束分界符(16H) 报文数据长度和重复数据长度为自DA至DU的数据长度,校验码为DA至DU数据的和校

VB开发OPC与PLC通信

VB开发WinCC的OPC客户机实例 组态 2009-07-03 19:52 阅读101 评论0 字号:大中小 VB开发WinCC的OPC客户机实例 发布时间:2006.04.29 阅览次数:1804 作者:林启宽单位:厦门市海沧新阳工业区厦门卷烟厂 关键词:OPC VB6.0 WinCC上位机 WinCC是西门子公司在自动化领域采用最先进的技术与微软公司在共同开发的居于世界领先地位的工控软件。WinCC即WINDOWS CONTROL CENTER(视窗控制中心)。WinCC是一个功能强大的全面开放的监控系统,既可以用来完成小规模的简单的过程监控应用,也可以用来完成复杂的应用。在任何情况下WinCC都可以生成漂亮而便捷的人机对话接口,使操作员能够清晰地管理和优化生产过程。它集成的OPC(OLE for process control)服务器使得过程数据可由其它应用程序(OPC客户机)访问。 WinCC在安装时提供了OPC的客户端控件: Siemens OPC DAAutomation 2.0( SOPCDAAuto.dll), 在WINCC的帮助中,有Siemens OPC DAAutomation 2.0使用的简略帮助,但说得不很详细,我在使用VB6.0开发WinCC的OPC客户机中碰到不少问题,现一并写出来,与大家共享。希望起到抛砖引玉,举一反三的作用。 一、开发实例背景:我厂包装机BE电气改造后,由原来了单片机、直流调试板、温度控制板等控制改为带有通讯端口PLC、变频器、温控仪等控制,上位机监控软件为WinCC。在控制系统中,变频器、温控仪的控制信号通过串口、OPC客户机接入上位机WinCC,报警信号接入PLC。其硬件组态结构如图一 OPC开发要求:①通过WinCC建立内部变量Tag(1),Tag(2),Tag(3),Tag(4)……;在视图窗口建立相应了I/O输入输出域。通过更改WinCC中I/O域的值,来设定或更改变频器、温控仪等的参数。②通过VB开发了串口驱动程序,读取变频器、温控仪等的参数,通过OPC控件把值传递给WinCC中的I/O域。 二、VB6开发WinCC的OPC客户机具体步骤: 1、打开VB6,建立如图二窗体: 其中,文本框组Text4.text为写入WinCC内部变量名称;文本框组Text5.text为显示相应了WinCC内

上位机VB实现与三菱PLC的串行通讯

上位机V B实现与三菱P L C的串行通讯 Document serial number【KK89K-LLS98YT-SS8CB-SSUT-SST108】

上位机V B实现与三菱P L C的串行通讯 2009年12月15日星期二下午07:40 1.通行原理与方法 上位机要能够通过PLC监控下层设备的状态,就要实现上位机与PLC间的通信,一般工业控制中都是采用RS232 C实现。上位机首先向PLC发送查询数据的指令(实际上是查询PLC中端子的状态和DM区的值等),PLC接收了上 位的指令后,进行校验(FCS校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。否 则,PLC拒绝向上位机传送数据。上位接收到PLC传送的数据,也要判断正确与否,如果正确,则接收,否则, 拒绝接收。 由于CPM1A没有提供串行通信口,我们利用其提供的外设端口实现通信。PLC与计算机之间的 连接是通过OMRON提供的专用电缆CQM1-CIF01来实现的,其硬件连接图如图1所示。(见附图) 2.PLC与计算机间的通信规约 计算机与PLC间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有更高的优先级。首先,计算 机向PLC发出命令帧,然后,PLC作出响应,向计算机发送回响应帧。其中命令帧和响应帧的格式如下: (1)命令帧格式。为了方便计算机和PLC的通讯,CPM1A对在计算机连接通信中交换的命令和响应规定了相应的 格式。当计算机发送一个命令时,命令数据主准备格式如图2所示。(见附图) 其中@放在首位,表示以@开始,设备号为上位机识别所连接的PLC的设备号。识别码为命令代码,用来设置用户 希望上位机完成的操作,FCS为帧检验代码,一旦通信出错,通过计算FCS可以及时发现。结束符为“*”和CR 回车符,表示命令结束。 (2)响应帧格式。由PLC发出的对应于命令格式的响应帧格式如图3所示。(见附图) 其中,异常码可以确定计算机发送的命令是否正确执行。其它的与正文中的含义相同。正文仅在有读出数据时有 返回。 3.通信程序的设计 为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计 算机与PLC的通信,计算机向PLC发出命令发起通信,PLC自动返回响应。本文中采用VB来编写计算机与PLC 间的通讯程序。在VB中提供了通信控件—应用通信控件(MSCOMM),实现通过串行端口传送和接受的功能。 下面介绍MSCOMM控件的属性: *CommPort:设定通信连接端口代号,程序必须指定所要使用的串行端口号,Windows系统使用所设定的端口与外 界通信。 *PortOpen:设定通信口状态,若为真,通信端口打开,否则关闭。 *Settings:设定通信口参数,其格式是"bbbb,p ,d,s",其中bbbb为通信速率(波特率),p为通信检查方式(奇偶校验),d为数据位数,s为停止位数,其设定 应与PLC的设定一致。 *Input:将对方传送至输入缓冲区的字符读入到程序。 *Output:将字符写入输出缓冲区。 *InBufferCount:传回接收缓冲区中的字符数。 *OutBufferCount:传回输出缓冲区中的字符数。 *InputLen:设定串行端口读入字符串的长度。 *InputMode:设定接收数据的方式。 *Rthreshold:设定引发接收事件的字符数。 *CommEvent:传回OnComm事件发生时的数值码 *OnComm事件:无论是错误或事件发生,都会触发此事件。 (1)控件参数的初始化。 初始化程序如下: https://www.360docs.net/doc/d55575831.html,Port=2'使用串口Com2 Mscomm.Settings="9600,E,7,2"'波特率9600,偶校验,7位数据位,2位停止位 Mscomm.PortOpen=True'打开通信端口,准备通信 (2)计算校验码FCS,计算FCS的VB自定义函数如下: FunctionFCS(ByValInputStrAsString)AsString DimSlen,i,XorresultAsInteger DimTempfesAsString

vb与三菱PLC的通信详解概要

Vb6.0与三菱PLC的通信 串行通信程序时,有两种方法,一种是用Windows API函数,另一种是用VB支持的通信控件MSCOMM.OCX。使用MSCOMM.OCX控件编程方便,具有更完善的发送和接收功能。这里采用了MSCOMM.OCX控件。 项目选用三菱FX2N-64MR型PLC,SC-09电缆作为计算机与PLC通信的连线。连接电缆的9针端连接在计算机串口上,另一端连接在PLC的RS-422编程口。 通信格式: 一个多字符帧由图1所示的五部分组成,其中和校验值是将命令码—ETX之间的字符的ASCII码(十六进制数)相加,取得所得和的最低二位数。STX(CHR(2))和ETX(CHR(3))分别表示该字符帧的起始标起和结束标志。 (1) 起始字元STX:ASCII码的起始字元STX对应的16进制数位0x02。无论命令信息还是回应信息,它们的起始字元均为STX,接收方以此来判知传输资料的开始。 (2) 命令号码:为两位16进制数。所谓命令号码是指上位机要求下位机所执行的动作类别,例如要求读取或写入单点状态、写入或读取暂存器资料、强制设定、运行、停止等。在回应信息中,下位机会将上位机接收到的命令号码原原本本的随同其它信息一同发送给上位机。 (3) 元件首地址:对应要操作的元件的相应的地址。如从D123单元中读取数据时,要把它对应的地址:0x10F6发送给PLC。 (4) 元件个数:一次读取位元件或字元件的数量。 (5) 结束字元(ETX):ASCII码的结束字元ETX对应的16进制数为0x03。无论命令信息还是回应信息,它们的结束字元均为ETX,接收方以此来判知此次通讯已结束。 (6) 校验码(Checksum):校验码是将STX-ETX之间的ASCII字元的16进制数值以“LRC(Longitudinal Redunda ncy Check)”法计算出1个Byte长度(两个16进制数值00-FFH)的校验码。当下位机接收到信息后,用同样的方法计算出接收信息的校验码,如果两个校验码相同,则说明传送正确。 FX2系列与计算机之间的通信是以主机发出的初始命令,PLC对其做出回答响应进行通信的,PLC无权命令。 三菱FX系列PLC编程口通信协议总览 该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。通讯格式: 传输格式: RS232C波特率:9600bps奇偶even校验:累加方式(和校验)字符: ASCII16进制代码:

VB与西门子S7 200 PPI协议通讯

VB与西门子S7 200 PPI协议通讯 通过硬件和软件侦听的方法,分析PLC内部固有的PPI 通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源 S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC 中编写代码,利用中断方式控制通讯端口的数据收发。采用这种方式,PLC编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC 的编程软件无法对PLC进行监控,给PLC程序调试带来不便。 SIEMENS S7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据

读写报文。这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。 软件设计 系统中测控任务由SIEMENS S7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。计算机的监控软件采用VB 编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为PPI协议。 PPI协议 西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。这样收发两次数据,完成一次数据的读写[5]。 其通讯数据报文格式大致有以下几类: 1、读写申请的数据格式如下: SD LE LER SD DA SA FC DASP SSAP DU FCS ED SD:(Start Delimiter)开始定界符(68H) LE:(Length)报文数据长度 LER:(Repeated Length)重复数据长度 SD: (Start Delimiter)开始定界符(68H) SA:(Source Address)源地址,指该地址的指针,为地址值

相关主题
相关文档
最新文档