欧姆龙plc技成(欧姆龙PLC指令应用案例,很难得的干货)
Posted
篇首语:从来没有说忘就忘这回事,只有假装的冷漠和偷偷想念的心。本文由小常识网(cha138.com)小编为大家整理,主要介绍了欧姆龙plc技成(欧姆龙PLC指令应用案例,很难得的干货)相关的知识,希望对你有一定的参考价值。
欧姆龙plc技成(欧姆龙PLC指令应用案例,很难得的干货)
条件:欧姆龙PLC变送器的输出信号为0-10V,对应温度为-100--200摄氏度;CP1H的模拟量输入量程设置为0-10V,分辨率选择6000
目的:使用SCL2指令将模拟量转换得到的数据0-6000(BIN)对应缩放到-100--200(BCD)摄氏度显示输出。
程序如下:
![](https://img.cha138.com/20230530/9e27a785bf8d4da7b093e2d0a9477286.jpg)
SCL2控制字解释:
200:CP1H的模拟量输入通道1
D100:偏移量(带符号BIN)详见下图
D101:ΔX(带符号BIN)详见下图
D102:ΔY(BCD)详见下图
D200:转换结果通道
![](https://img.cha138.com/20230530/a706036a10d6480bb371b50b76f68493.jpg)
结果:程序执行后就可以实现0-6000(BIN)转换到-100--200(BCD)摄氏度显示了。
注:因为BCD数是以十六进制来表示十进制数据的,因此对应的温度值应该用16进制方式去监视。例如:当200CH中的数据是&4000(即6.66V电压输入),那么用十六进制监控数据D200应该显示#100。
&符号表示十进制数;#表示十六进制数。
小编整理不易,喜欢的话可以帮忙多多转发评论哦!
关注+私信【资料】,免费领取更多PLC学习资料
SCL指令应用案例
条件:欧姆龙PLC变送器的输出信号为0-10V,对应压力为0-400MPa;CP1H的模拟量输入量程设置为0-10V,分辨率选择6000。
目的:使用SCL指令将模拟量转换得到的数据0-6000(BIN)对应缩放到0-400MPa(BCD)显示输出。
程序如下:
![](https://img.cha138.com/20230530/c9f13e9c64c24b3dba56f5eff790e940.jpg)
![](https://img.cha138.com/20230530/41268ce4dad14c1f8cf8e99242be893d.jpg)
结果:程序执行后就可以实现0-6000(BIN)转换到0-400(BCD)的压力值了。
注:因为BCD数是以十六进制来表示十进制数据的,因此对应的压力值应该用16进制方式去监视。例如:当200CH中的数据是&3000(即5V电压输入),那么用十六进制监控数据D200应该显示#200。
&符号表示十进制数;#表示十六进制数。
使用CPM1A-AD041的模块采集模拟量4-20ma的信号,该模拟量信号取自一位移传感器信号,代表一个0-100mm的距离,要怎么才能把输入通道里的数据转换成所对应的这个距离值呢?
可以使用SCL指令做此类的定标转换,该指令的作用是把一个16进制数据线性转换成一个BCD码的数据,这条指令有3个操作数见图1,S为源字,P1是参数首字,R是结果字,从P1到P1+3要设置4个值,P1是AY,P1+1是AX,P1+2是BY,P1+3是BX(见图2),在此例中因为输入的数据范围是0-1770 HEX,所以P1+1和P1+3分别是0和1770,而定标结果是0-100,所以P1和P1+2分别是0和100.具体可以这么做,例如AD041的输入通道是002,把DM0作为参数首字,D10作为结果字存放0-100的距离值。
SCL 2 DM0 DM10 在执行SCL指令前先用MOV指令对DM0-DM3里分别赋值0,0,100,1770。之后SCL指令就能把输入的模拟量值定标成0-100的距离值了。
![](https://img.cha138.com/20230530/cbc95ef50b8d487ab6afb8b5e526d56b.jpg)
CPM1A-MAD02-CH使用了4路输入,但是它的输入数据是每两路放一个通道的,这样就无法进行监视或处理单独一路的输入数据了,有什么办法可以把两路数据分离开吗?
可以用MOVD指令,分别把两路数据传送到一个单独的通道。该指令有3个操作数:
![](https://img.cha138.com/20230530/e6f3a1dd323445358a1122456056a3da.jpg)
操作数排列如图1,S是源字,也就是用模拟量输入的通道,DI是指定数位号,每个数字指定方式如上图2,也就是指定从源字中哪一个数字开始传送(一个通道是4个16进制数字,一路输入是半个通道,也就是2个16进制数字),传送几个数字,传送到目标通道的哪个数字,D就是指定目标通道。例如现在MAD02的第一第二路输入的通道是002通道,现在要把第一路数据传送到DM0,第二路数据传送到DM1,MOVD指令
![](https://img.cha138.com/20230530/2f29af59f0694bdeaa0950e47319da47.jpg)
CPM1A-AD041的外部输入电流和电压信号要如何接线?
电压输入:把外部的输入正信号接V IN,负信号接com端;
电流输入:把模块上V IN和I IN的端子短接后接输入正信号,负信号接com端。
![](https://img.cha138.com/20230530/96e1205d9dfe4db58557d29216afad3e.jpg)
CPM1A-MAD02-CH的参数应该怎么设置?
在n+1通道(n为分配给CPU单元或前一个扩展单元的最后一个输出通道)的每个位对应的作用按照如下表分配,在量程对应的位是设定输入输出的量程范围,在启动位和平均值对应的位是设定该功能使用与否,例如4路输入1路输出全用4-20ma,平均值功能不用,就在N+1通道设置C3FF HEX就可以了。
![](https://img.cha138.com/20230530/f5d81c7de9454864ba6b695476ec746d.jpg)
小编整理不易,喜欢的话可以帮忙多多转发评论哦!
关注+私信【资料】,免费领取更多PLC学习资料
CP1H-X□40D□-□的型号是如何定义的?
![](https://img.cha138.com/20230530/ebe2e68673ff40d486ad838afca069c8.jpg)
欧姆龙PLCMOVD指令的解释
![](https://img.cha138.com/20230530/26856273c7d345cca723b99701a17fc6.jpg)
举例说明如下:
![](https://img.cha138.com/20230530/4d5f31a6c89d4585834e3a38a9fdc751.jpg)
S:200CH为传送源地址,初始值为#ABCD(十六进制)。
D:300CH为传送目标地址,初始值为#0000(十六进制)。
例1:D300为#0211:
从左往右解释:
2表示传送到目标字以位2开始(即8-11位)。
1表示传送位数2位。
1表示传送源字以位1开始(即4-7位)。
程序执行后,300CH中的值为#BC00。
例2:D300为#0230:
从左往右解释:
2表示传送到目标字以位2开始(即8-11位)。
3表示传送位数4位。
0表示传送源字以位0开始(即0-3位)。
程序执行后,300CH中的值为#CDAB。
CPM2A-30CDR-A配CPM1A-AD041和CPM1A-20EDR1地址是如何分配的?
![](https://img.cha138.com/20230530/69e35e460a384fa68e76ddd39afc1e40.jpg)
CX-Programmer下传程序的时提示UM区被保护,如何处理?
① 新建PLC程序时,在设备型号后的设定中选中了文件内存只读,只要把文件内存只读的钩去掉即可;
② 询问CPU型号:
a.CPM系列,DM 6602设为了×××1,可以在编程模式中将DM6602设为×××0后断电上电即可;
b.C200Ha或CQM1系列,CPU盖板下的开关中的DIP-1打在了On上,断电将DIP-1打为Off上电即可;
c.CP/CJ/CS系列,如果CPU被加过写保护密码,需要先释放密码,CPU盖板下的开关中的DIP-1打在了On上,断电将DIP-1打为Off上电即可。
在输入模拟量数据后,如果要把数据定标成带小数点的数据,可以怎么做?
两种办法,一是把定标的结果数据放大10的N次方来得出小数点,例如需要2位小数,例如把0-0FA0的输入定标成0-10.00V的BCD码,带两位小数,那就当成0-1000来定标。如果是CP1H或CQM1H那还有一种方法,就是如果把源数据转成浮点数来做浮点运算,也能做到,但因为CPM系列的PLC不支持浮点数,所以不能用这个方法。
4-20ma模拟量输入的时候,输入信号为4ma,但输入通道的数据在0,65535两个值跳,这是正常的吗?实际使用中如果不能有这样的数据怎么办?
65535的16进制其实是FFFF,因为PLC是用二进制补码表示负数的,其实这个数据是代表-1,也就是模拟量输入在0到-1之间跳动,是属于正常的。如果处理跳变的现象,不要直接用输入通道的数据,可以把这个数据传送到另一个中间通道后再使用,之前用一条CPS比较指令判断输入信号是否是负的,如果是负的,就不传送输入通道数据而传送0到这个中间通道,把信号作为0来处理。
小编整理不易,喜欢的话可以帮忙多多转发评论哦!
关注+私信【资料】,免费领取更多PLC学习资料
几根常用的RS-232C通讯电缆的接线?
①电缆XW2Z-200S-V连接图:
PLC(9孔)侧 PC(9针计算机)侧
2――――2
3――――3
9――――5
PLC的4与5短接,PC侧的4与6短接, 7与8短接
②电缆XW2Z-200S-CV连接图:
PLC(9孔)侧 PC(9针计算机)侧
2――――2
3――――3
4――――8
5――――7
9――――5
③电缆XW2Z-200P-V连接图:
PLC(25孔)侧 PC(9针计算机)侧
2――――2
3――――3
7――――5
PLC侧4,5短接,6,20短接。
计算机侧4,6短接,7,8短接。
④电缆XW2Z-200T连接图:
PLC(9孔)侧 触摸屏(9孔)侧
2――――3
3――――2
9――――9
PLC和触摸屏两侧的4,5都要短接。
CPM1A的外设口用CPM1-CIF11转成RS-422口后连计算机侧的RS-422电缆接线?
CIF11 计算机
SDA———RDA
SDB———RDB
RDA———SDA
RDB———SDB
NC模块的参数设置注意事项:
a)当m+2控制字设置为0000,即x轴使用保存在PCU的FLASH中的轴参数时,NC模块控制电机正常;b)当m+2控制字设置为0001,即x轴使用分配给特殊I/O单元的数据存储器区域字设置的轴参数时,NC模块控制电机不正常。具体表现如下:在a)状态时,开机搜索原点(n.06),然后手动控制电机进位,然后执行原点返回命令(n.07),电机返回原点;在b)状态时,开机搜索原点,然后手动控制电机进位,然后执行原点返回命令(n.07),电机停止不动,检查n+2.05位,发现为ON,即表示定位结束。
根据现象,判断是NC模块没有完成正确的设置,以至于它没有能够正确判断相对和绝对移动。检查公共参数区域(m,m+1……),没有发现问题。但是在检查到m+25~m+28参数区域时,这4个通道内值为0。这4个通道分别是设置CCW/CW的软限位的。在以前的试验中我们曾发现过当软限位未设置的情况下,NC模块不能执行正确的绝对和相对移动,现象是让电机按照绝对移动或者相对移动模式,运行结果是一样的,按照相对运行的模式运行。所以估计是这个区域没有设置导致客户出现问题。将m+25~m+26设置为C0000001,m+27~m+28设置为3FFFFFFF。断电上电,按照b)模式运行,故障消除。
CJ1W-AD041的DM区设置?
对于DM字地址定义是m=20000+(单元号*100)D(m):输入使用设置D(m+1):输入信号范围设置D(m+2):输入1均值处理设置D(m+3):输入2均值处理设置D(m+4):输入3均值处理设置D(m+5):输入4均值处理设置D(m+6)~D(m+17):未使用忽略设置D(m+18):高8位是转换时间/分辨率设置,低8位是操作模式设置具体的参数设置请参照CJ1/CS1模拟量I/O单元中文操作手册P86
例1:
我用压力传感器输入4-20mA,对应工作压力为0-70p,用SCL指令源通道我用200,参数字用D100(内存设置D100,D101,D102,D103怎么写),我要做4个报警,在用CMP指令做比较的时候,数据比较1写D100,数据比较2写4个报警的具体数值吗?
1:分辨率为6000的情况下,四个参数字如下:D100:#0 D101:#0 D102:#70 D103:#1770 ;2:分辨率为12000的情况下,四个参数字如下:D100:#0 D101:#0 D102:#70 D103:#2EE0 ;
比如SCL指令的结果通道用的是D300,那么D300里面看到的就是0-70P之间的值,CMP指令和D300里面的当前工程量作比较,满足一定条件输出报警
例2:
两个压力传感器是电流型4-20mA输出、其量程为0-25Mpa,我将其分别接入200CH、201CH,实际工作中的压力计算公式是:实际压力 X=20*25*D200/6000。(分辨率假定为6000);
我的程序是:--P_on-------Mov #0 D100
|-Mov #0 D101
|-Mov #25 D102
|-Mov #1770 D103
--P_on-------Scl 200 D100 D200
|-Cmp D200 D0(设定值)
|-P_on--1000
你的定标是正确的,不过D102设成#25太小,精度太低,建议设为#2500.比较程序的判别标记不能使用P_ON
(来源:网络,版权归原作者所有,侵删)
![](https://img.cha138.com/20230530/aee34af5896545d19ac51a7add5b16c4.jpg)
相关参考
欧姆龙PLC编程与应用-串行通信授课老师:该课程内容整合了老师在跟学员沟通中了解学员所需的部分内容,加上老师自己在工程经验中对欧姆龙PLC使用最多也课时内容课时介绍第1课时.间接寻址01间接寻址1)寻址方法的指定;2...
欧姆龙plc编程线(欧姆龙CP1系列PLC的高速计数器应用程序三)
欧姆龙CP1系列PLC的高速计数器应用程序三某项目要求测量电机转速,有光电编码器与主轴相连,编码器的分辨率为1024线,求电机转速,并保存在寄存器中,供HMI读取。此例以CPLH-X/XA型CPU单元模块为样本,说明程序的创建方,法...
下面我们正式对梯形编程进行介绍、讲解以及演示,主要分为以下7种编程方式:自锁按钮ALT指令上升沿保持置位和复位指令计数器功能定时器功能移位指令●自锁按钮这是最简单的实现方式不使用plc都可以,只需要使用个带自...
欧姆龙伺服(S7-1500控制V90伺服详解及欧姆龙SPED指令问题)
问:这个既然不灵活,为啥不用GSD文件方式呀?答:这个根据实际的应用场合来说,一些简单的定位控制可以采用HSP方式实现,位置环直接做在PLC侧,伺服不需要做任何的操作设置,PLC编程比较简单,拖拽几下就基本搞定了。问...
PLC(可编程序控制器)是机械制造业的主要控制装置,本文介绍PLC在印刷机械上应用情况和PLC故障排除技术,给印刷设备维护和维修提供参考价值。PLC是指以计算机技术为基础的工业控制装置,它具有适应面广、使用方便、体积小、...
欧姆龙ad模块(欧姆龙PLC编程前的设定(模拟量、高速计数、加密))
一、高速计数的相关知识通过PRV指令,可以读取输入脉冲的频率,进行高速计数器的频率测定,将被测定频率以Hz为单位、十六进制8位输出,并且仅可在高速计数器0中使用。此外,还可在进行高速计数器0的比较动作的同时,测...
欧姆龙CP1系列PLC编程之单按钮控制灯亮与灭某程序要求:用一个按钮控制一盏灯的亮与灭,即按奇数次按钮灯亮,按偶数次按钮灯灭。这就是非常常见的单按钮启停控制程序设计问题。单按钮启停控制的方法很多,最原始、最电...
编码器通常分为增量型和绝对值型。(1)增量型:就是每转过单位的角度就发出一个脉冲信号(也有发正余弦信号,然后对其进行细分,斩波出频率更高的脉冲),通常为A相、B相、Z相输出,A相、B相为相互延迟1/4周期的脉冲输出...
欧姆龙光纤放大器st(高效学习PLC编程,使用ST语言编写控制程序无压力)
大家都知道PLC编程有很多语言可选择,在学习CoDeSys的过程中常会问一个问题,哪种编程语言最好?其实,没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具有其不同的特点,可...
欧姆龙plc和三菱plc的区(超全PLC 快捷键汇总(西门子、三菱、欧姆龙),电气人必备)
编程领域的大神一般以键盘为主,而快捷键就是他们的基础技能之一。俗话说得好,兵贵神速,很多时候,快捷键的使用不光能节省一定时间,并且能让大家更熟悉电脑操作,还能让外行人顿时刮目相看~今天小编收集了西门子...