线下实训
HOME
线下实训
正文内容
使用db-9编程的plc 最全的PLC通讯电缆编程电缆自制详解(图)
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

最全的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)编程电缆图

实例 SCL编程,这9种程序控制指令必须掌握

SCL作为一种编程语言,可以实现LAD/FBD所有的功能,大多数的指令与LAD/FBD都是相同的,只是在编辑器中的外形不同。只有一些指令使用是不太一样的甚至LAD/FBD没有的,这里只介绍这些不同的。

SCL特殊的指令有以下几种,如图1-3红框中的指令:

图1 读写存储器

图2 转换操作

图3 程序控制指令

在这三部分中,读写存储器的PEEK POKE指令可以参考链接,转换操作可以参考链接,这里只介绍图3的程序控制指令。

【文末免费领取学习资料】

【文末免费领取学习资料】

【文末免费领取学习资料】

程序控制指令

程序控制指令是SCL编程的基础,接近高级语言的指令,虽然这些功能通过LAD/FBD也可以实现,但使用SCL编写会更加方便,逻辑条理也更加清晰。

程序控制语句说明选择IF-THEN语句用于将程序执行转移到两个备选分支之一(取决于条件为 True 还是 False);CASE语句用于选择执行 n 个备选分支之一(取决于变量值)循环;FOR语句只要控制变量在指定值范围内,就重复执行某一语句序列;WHILE-DO语句只要仍满足执行条件,就重复执行某一语句序列;REPEAT-UNTIL语句重复执行某一语句序列,直到满足终止条件为止;程序跳转CONTINUE语句停止执行当前循环迭代;EXIT语句无论是否满足终止条件,都会随时退出循环;GOTO语句使程序立即跳转到指定标签;RETURN语句使程序立刻退出正在执行的块,返回到调用块。下面详细介绍各条指令的用法。

(1)IF:条件执行

说明:使用"条件执行"指令,可以根据条件控制程序流的分支。该条件是结果为布尔值(True 或 False)的表达式。可以将Bool变量、逻辑表达式或比较表达式作为条件。

执行该条件执行指令时,将对指定的表达式进行运算。如果表达式的值为 True,则表示满足该条件;如果其值为 False,则表示不满足该条件。

参数 根据分支的类型,可以对以下形式的指令进行编程:

IF...THEN... 分支: IF <条件>THEN <语句1>END_IF;

图4 IF...THEN... 分支

如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则程序将从 END_IF 后的下一条指令开始继续执行。

IF...THEN... ELSE...分支: IF <条件>THEN <语句1>ELSE <语句2>END_IF;

图5 IF...THEN... ELSE...分支

如果满足该条件,则将执行 THEN 后编写的语句。如果不满足该条件,则将执行 ELSE 后编写的语句。不论执行哪一个语句,之后都将从 END_IF 后的下一条指令开始继续执行。

IF...THEN... ELSIF...分支: IF <条件1>THEN <语句1>ELSIF <条件2>THEN <语句2>END_IF;

图6 IF...THEN... ELSIF...分支

如果满足条件1,则将执行 THEN 后的语句1,执行这些语句后,程序将从 END_IF 后继续执行。

如果不满足条件1,则将检查条件2。如果满足条件2,则将执行 THEN 后的语句2。执行这些语句后,程序将从 END_IF 后继续执行。

如果不满足任何条件,则直接执行 END_IF 后的程序部分。

在 IF 指令内可以嵌套任意多个 ELSIF 和 THEN 组合。可以选择对 ELSE 分支进行编程。

参数

下表列出了该指令的参数:

参数

数据类型

存储区

说明

<条件>

BOOL

I、Q、M、D、L

待求值的表达式。

<语句>

-

在满足条件时,要执行THEN后的语句。如果不满足条件,则执行 ELSE 后编写的语句。

示例

图7 IF示例

下表展示了不同的操作数数值对目标变量的影响:

操作数值"Tag_1"TrueFalseFalseFalse"Tag_2"FalseTrueFalseFalse"Tag_3"FalseFalseTrueFalse"Tag_Value"1020300

(2)CASE:创建多路分支

说明:使用"创建多路分支"指令,可以根据数字表达式的值执行多个指令序列中的一个。

按如下方式声明此指令:

CASE <变量> OF

<常数1>: <语句1>;

<常数2>: <语句2>;

......

<常数n>: <语句n>;

ELSE <语句>;

END_CASE;

图8 CASE语句

参数

下表列出了该指令的参数:

参数

数据类型

存储区

说明

<变量>

整数、位序列*

I、Q、M、D、L

与设定的常数值进行比较的值。

<常数>

位序列

若为位序列,则常数可以为以下值:

二进制数(例如,2#10) 八进制数(例如,8#77) 十六进制数(例如,16#AD) 未定型的常数(例如,1000)

整数

作为指令序列执行条件的常数值。常数可以为以下值:

整数(例如,5) 整数范围(例如,15 到 20) 由整数和范围组成的枚举(例如,10、11、15 到 20)

<语句>

-

-

当表达式的值等于某个常数值时,将执行该常数后的各种指令。如果不满足条件,则执行 ELSE 后编写的指令。如果两个值不相等,则执行这些指令。

* TIA PORTAL V16开始支持位序列数据类型的变量

示例

图9 CASE示例

下表展示了不同的操作数数值对目标变量的影响:

操作数值"Tag_Value"01,3,56,7,8,9,1016,17,20,21,22,23,24,25其他"Tag_1"1----"Tag_2"-1---"Tag_3"--1--"Tag_4"---1-"Tag_5"----1

【文末免费领取学习资料】

【文末免费领取学习资料】

【文末免费领取学习资料】

(3)FOR:在计数循环中执行

说明:使用"在计数循环中执行"指令,重复执行程序循环,直至运行变量不在指定的取值范围内。

也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。

通过指令"复查循环条件"(Continue),可以终止当前正在运行的程序循环。通过指令"立即退出循环"(Exit)终止整个循环的执行。

注意:

有关运行次数和运行变量的信息:

程序运行时无法更改运行次数。出于性能原因,应在块接口的"Temp"部分中声明运行变量。在循环中,该运行变量无法更改。

按如下方式声明此指令:

FOR <运行变量> := <起始值> TO <结束值> BY <增量> DO

<语句>;

END_FOR;

如果增量为1,可以简写为:

FOR <运行变量> := <起始值> TO <结束值> DO

<语句>;

END_FOR;

图10 FOR语句

下表列出了该指令的参数:

参数

数据类型

存储区

说明

<运行变量>

有符号整数、无符号整数*

I、Q、M、D、L

执行循环时会计算其值的操作数。执行变量的数据类型将确定其它参数的数据类型。

<起始值>

I、Q、M、D、L

表达式,在运行变量首次执行循环时,将为运行变量分配该表达式的值。

<结束值>

I、Q、M、D、L

表达式,在运行程序最后一次循环时会为运行变量分配该表达式的值。在每个循环后都会检查运行变量的值:

未达到结束值:执行符合 DO 的语句 达到结束值:最后执行一次 FOR 语句 超出结束值:完成 FOR 循环

执行该指令期间,不允许更改结束值。

<增量>

I、Q、M、D、L

表达式,根据增量表达式的值,执行变量在每次循环后都会递增(正增量)或递减(负增量)自身变量值。

如果未指定增量,则在每次循环后执行变量的值加 1。

执行该指令期间,不允许更改增量。

<语句>

-

只要运行变量的值在取值范围内,每次循环都就会执行的语句。取值范围由起始值和结束值定义。

*TIA PORTAL V16开始支持无符号整数类型的变量

示例

图11 FOR示例

Tag_Value 操作数乘以b_array 数组变量的元素 (2, 4, 6, 8)。并将计算结果读入到a_array 数组变量的元素 (2, 4, 6, 8) 中。

下表展示了给定 Tag_Value 与 b_array[i] 的值得到 a_array[i] 的结果:

设定Tag_Value值5设定b_array[2]b_array[4]b_array[6]b_array[8]值3579结果a_array[2]a_array[4]a_array[6]a_array[8]值15253545

(4)WHILE:满足条件时执行

说明:使用"满足条件时执行"指令可以重复执行程序循环,直至不满足执行条件为止。该条件是结果为布尔值(True 或 False)的表达式。可以将逻辑表达式或比较表达式作为条件。

执行该指令时,将对指定的表达式进行运算。如果表达式的值为 True,则表示满足该条件;如果其值为 False,则表示不满足该条件。

也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。

通过指令"复查循环条件"(Continue),可以终止当前连续运行的程序循环。通过指令"立即退出循环"(Exit)终止整个循环的执行。

可按如下方式声明此指令:

WHILE <条件>

DO <语句>;

END_WHILE;

图12 WHILE语句

参数

下表列出了该指令的参数:

参数

数据类型

存储区

说明

<条件>

BOOL

I、Q、M、D、L

表达式,每次执行循环之前都需要进行求值。

<语句>

-

在满足条件时,要执行的语句。如果不满足条件,则程序将从 END_WHILE 后继续执行。

示例

图13 WHILE示例

下表展示了循环初始和循环结束时变量值的变化

初始循环结束Tag_25Tag_105

【文末免费领取学习资料】

【文末免费领取学习资料】

【文末免费领取学习资料】

(5)REPEAT:不满足条件时执行

说明:使用"不满足条件时执行"指令可以重复执行程序循环,直至不满足执行条件为止。该条件是结果为布尔值(True 或 False)的表达式。可以将逻辑表达式或比较表达式作为条件。

执行该指令时,将对指定的表达式进行运算。如果表达式的值为 True,则表示满足该条件;如果其值为 False,则表示不满足该条件。

即使满足终止条件,至少也会执行一次循环内的语句。

也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。

通过指令"复查循环条件"(Continue),可以终止当前连续运行的程序循环。通过指令"立即退出循环"(Exit)终止整个循环的执行。

可按如下方式声明此指令:

REPEAT <语句>;

UNTIL <条件>

END_REPEAT;

图14 REPEAT语句

参数

下表列出了该指令的参数:

参数

数据类型

存储区

说明

<语句>

-

在设定条件的值为 False 时执行的指令。即使满足终止条件,此指令也执行一次。

<条件>

BOOL

I、Q、M、D、L

表达式,每次执行循环之后都需要进行求值。如果表达式的值为 False,则将再次执行程序循环。如果表达式的值为 True,则程序循环将从 END_REPEAT 后继续执行。

示例

图15 REPEAT示例

下表展示了循环初始和循环结束时变量值的变化

初始循环结束Tag_25Tag_106

(6)CONTINUE:复查循环条件

说明:使用"复查循环条件"指令,可以结束 FOR、WHILE 或 REPEAT 循环的当前程序运行。

执行该指令后,将再次计算继续执行程序循环的条件。该指令将影响其所在的程序循环。

图16 CONTINUE用在FOR循环

图17 CONTINUE用在WHILE循环

图18 CONTINUE用在REPEAT循环

示例

图19 CONTINUE示例

下表展示了计算结果:

变量计算结果"DB10".Test[0]-"DB10".Test[1]-"DB10".Test[2]-"DB10".Test[3]-"DB10".Test[4]-"DB10".Test[5]1"DB10".Test[6]1"DB10".Test[7]1

如果满足条件 i < 5,则不执行后续值分配 ("DB10".Test[i] := 1)。运行变量 (i) 以增量"1"递增,然后检查其当前值是否在设定的循环取值范围内。如果执行变量在循环取值范围内,则将再次计算 IF 的条件。

如果不满足条件 i < 5,则将执行后续值分配 ("DB10".Test[i] := 1) 并开始一个新循环。在这种情况下,执行变量也会以增量"1"进行递增并接受检查。

(7)EXIT:立即退出循环

说明:使用"立即退出循环"指令,可以随时取消 FOR、WHILE 或 REPEAT 循环的执行,而无需考虑是否满足条件,并在循环结束(END_FOR、END_WHILE 或 END_REPEAT)后继续执行程序。

该指令将影响其所在的程序循环。

图20 EXIT语句

示例

图21 EXIT示例

下表展示了计算结果:

变量计算结果"DB10".Test[0]1"DB10".Test[1]1"DB10".Test[2]1"DB10".Test[3]1"DB10".Test[4]1"DB10".Test[5]1"DB10".Test[6]-"DB10".Test[7]-

如果满足条件 i > 5,则将取消循环执行。程序将从 END_FOR 后继续执行。

如果不满足条件 i <= 5,则将执行后续值分配 ("DB10".Test[i] :=1) 并开始一个新循环。将运行变量 (i) 以 1 进行递增,并进行检查该变量的当前值是否在程序中设定的循环取值范围之内。如果执行变量 (i) 在循环取值范围内,则将再次计算 IF 的条件。

【文末免费领取学习资料】

【文末免费领取学习资料】

【文末免费领取学习资料】

(8)GOTO:跳转

说明:使用"跳转"指令,可以从标注为跳转标签的指定点开始继续执行程序。

跳转标签和"跳转"指令必须在同一个块中。在一个块中,跳转标签的名称只能指定一次。每个跳转标签可以是多个跳转指令的目标。不允许从"外部"跳转到程序循环内,但允许从循环内跳转到"外部"。

注意:

LAD/FBD语言内的SCL段,不能使用GOTO指令。

跳转标签遵循以下语法规则:

字母(a 至 z,A 至 Z) 字母和数字组合;请必须字母为开始

可按如下方式声明此指令:

GOTO <跳转标签>;

...

<跳转标签>: <语句>

示例

图22 GOTO示例

下表展示了每个操作数数值对目标变量的变化影响:

操作数值Tag_Value123其他

初始值结束值初始值结束值初始值结束值初始值结束值Tag_101000000Tag_201010000Tag_301010100Tag_401010101

根据"Tag_Value"操作数的值,程序将从对应的跳转标签标识点开始继续执行。例如,如果"Tag_Value"操作数的值为 2,则程序将从跳转标签"MyLABEL2"开始继续执行。在这种情况下,将跳过"MyLABEL1"跳转标签所标识的程序行。

(9)RETURN:退出块

说明:使用"退出块"指令,可以终止当前处理块中的程序执行,并在调用块中继续执行。

如果该指令出现在块结尾处,则可以跳过。

图23 RETURN语句

示例

图24 RETURN示例

如果"Tag_Error"操作数的信号状态不为 0,则将终止当前处理块中的程序执行。

(来源:网络,版权归原作者所有,侵删)

相关问答

plc中db11什么意思?

PLC中DB是数据块。数据块是一组按顺序连续排列在一起的几组记录,是主存储器与输入、输出设备或外存储器之间进行传输的一个数据单位。是数据的物理记录,与数...

plcdb块介绍?

在西门子PLC编程中,DB块是数据块(DataBlock)的简称,它用于存储和管理数据。DB块可以存储不同类型的变量,如整数、浮点数、字符串、结构体等,它们可以用于...

plc中DB模块的作用?

DB块有两种,一种是共享数据块,另一种DB是立即块。我来简要的说一下这些块通常的作用,OB组织块中最普通常用的就是OB1它就像西门子200PLC中的主程序一样,根据...

plcdb模块有什么用?

PLC(可编程逻辑控制器)DB(数据库)模块在工业自动化控制系统中起到了重要作用。它可以用来存储和管理大量的数据,如传感器读数、设备状态和生产计划等。通过...

西门子S7300中的DB是什么?

在西门子PLC编程中,DB块和变量都是用于存储数据的结构。DB块(DataBlock)是一种用于存储数据的结构块,可以在编程中定义和使用。DB块中可以存储各种数据类型...

西门子的PLC是不是一个型号一个编程软件,是否有通用的编程软...

我有200的--我以前发的贴子有plc入门资料,电工初学入门视频有用(0)回复至少有硬件配置,OB,FB,FC和DB。有用(0)回复朋友你好。需要我这里有。649028603...

...多个欧姆龙CJ系列的PLC,当前有组态软件,PLC编程器。-ZOL问答

OMRONplc没有内置MODBUS协议,非要采用需要另外购买SCU41-V1版本以上模块。建议选用HOSTLINK协议。有用(0)回复291989253主要看你的组态软件是否有相应PL...

三菱PLC编程软件有一个什么工程名?

三菱PLC编程软件的工程名是自己定义的,只要名字里面没有特殊符号,非法符号,都是允许的。一个完整的三菱PLC工程文件夹下面有以下几个文件:1.Resource----是...

300plc如何建时间db块?

要建立一个300plc的时间DB块,可以通过如下步骤完成:首先,在PLC编程软件中打开要使用的程序;接着,在ProjectTree中选择TIME_DB(时间数据库)并右键单击,...

plc怎样设置modbustcp通讯?

1.将通讯模块接入PLC的通讯口,扩展的网口连接modbusTCP客户端(PC或者DCS)。2.通过IE浏览器查看BCNet模块的参数在IE浏览器中,如果BCNet模块当前的IP地址,...

 石家庄华城绿洲  五色南石叶 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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