计算平均指令时间_欧姆龙PLC指令应用案例

发布日期:2023-08-15

欧姆龙PLC应用案例的指令

条件:欧姆龙PLC变送器的输出信号为0-10V,对应温度为-100-200摄氏度;CP1H模拟量输入量程设置为0-10V,分辨率选择6000
目的:使用SCL2指令转换模拟量获得的数据0-6000(BIN)对应缩放到-100--200(BCD)摄氏度显示输出。
程序如下:

4a77b765052a757d2e021f93818f2b1f.png


SCL2控制字解释:
200:CP1H模拟输入通道1
D100:偏移量(带符号)BIN)详见下图
D101:ΔX(带符号BIN)详见下图
D102:ΔY(BCD)详见下图
D200:转换结果通道


结果:程序执行后,0-6000(BIN)转换到-100--200(BCD)摄氏度显示。
注:因为BCD十进制数据是用十六进制来表示的,所以相应的温度值要用十六进制来监测。例如:200CH中的数据是&4000(即6.66V电压输入),然后使用16进制监控数据D#100应显示200。
&符号表示十进制数;#表示十六进制数。

SCL指令应用案例

条件:欧姆龙PLC变送器的输出信号为0-10V,对应压力为0-400MPa;CP1H模拟量输入量程设置为0-10V,6000分辨率选择。
目的:使用SCL转换模拟量获得的数据0-6000(BIN)对应缩放到0-400MPa(BCD)显示输出。
程序如下:


结果:程序执行后,0-6000(BIN)转换到0-400(BCD)压力值。
注:因为BCD十进制数据是用十六进制来表示的,所以相应的压力值要用十六进制来监测。例如:200CH中的数据是&3000(即5V电压输入),然后使用16进制监控数据D#200应显示200。
&符号表示十进制数;#表示十六进制数。

使用CPM1A-AD模块采集模拟量4-20041ma模拟量信号取自位移传感器信号,代表0-100mm如何将输入通道中的数据转换为相应的距离值?

可以使用SCL该指令的作用是将16进制数据线性转换为一个BCD该指令有3个操作数见图1,S为源字,P一是参数首字,R是结果字,从P1到P1 设置4个值,P1是AY,P1+1是AX,P1 2是BY,P1 3是BX(见图2),在这种情况下,因为输入的数据范围是0-1770 HEX,所以P1 1和P1 3分别为0和1770,定标结果为0-100P1和P1 2分别是0和100.具体可以这样做,比如AD041的输入通道是002,把手DM0作为参数首字,D存储0-100作为结果字的距离值。
SCL 2 DM0 DM10
在执行SCL指令前先用MOV指令对DM0-DM3里分别赋值0、0、100、1770。SCL指令可以将输入的模拟值标记为0-100的距离值。

CPM1A-MAD02-CH使用4个输入,但其输入数据每两个通道放置一个通道,因此无法监控或处理单独的输入数据。有没有办法将两个数据分开?

可以用MOVD指令,分别把两路数据传送到一个单独的通道。该指令有3个操作数,

操作数排列如图1所示,S是源字,即模拟量输入的通道,DI指定数位数,每个数字指定方法如上图2所示,即指定从源字中传输的数字(一个通道为4个16进制数字,一路输入为半通道,即2个16进制数字),传输数字,传输到目标通道,D指定目标通道。例如现在MAD02的第一、二路输入通道是002通道,现在要把第一路数据传输到DM0.第二路数据传输到DM1,MOVD指令

CPM1A-AD如何连接041的外部输入电流和电压信号?

电压输入:连接外部输入正信号V IN,负信号接com端;

电流输入:模块上V IN和I IN端子短接后输入正信号,负信号连接com端。

CPM1A-MAD02-CH如何设置参数?

在n+1通道(n为分配给CPU单元或前一个扩展单元的最后一个输出通道)的每个位置对应的功能按下表分布,在范围对应的位置设置输入输出范围,在启动位置和平均值对应的位置设置功能,如4-20ma,不需要平均值功能,就在N 1通道设置C3FF HEX就可以了。

CP1H-X□40D□-□如何定义型号?

欧姆龙PLCMOVD指令的解释


举例如下:


S:200CH为传送源地址,初始值为#ABCD(十六进制)。
D:300CH初始值为#0000(16进制)传输目标地址。
例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-20EDR地址是如何分配的?

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上电即可。

输入模拟数据后,如果要将数据定标为带小数点的数据,该怎么办?

有两种方法,一种是将定标结果数据放大10N次才能得到小数点,比如需要2位小数,比如0-0FA0-100的输入定标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处理

几根常用的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――――

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

例:

我用压力传感器输入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

来源:http://www.fsxljd.cn/wk/108.htm

Omron(欧姆龙)热门型号