"Condition: the output signal of OMRON PLC transmitter is 0-10V, and the corresponding temperature is - 100-200 ℃; The analog input range of CP1H is set to 0-10V, and the resolution is 6000. Purpose: use scl2 command to scale the data 0-6000 (bin) converted from analog to - 100-200 (BCD) degrees Celsius display output.
The procedure is as follows:
Scl2 control word interpretation: 200: analog input channel 1d100 of CP1H: offset (signed bin). See Figure D101 below for details: Δ See figure d102 below for X (bin with symbol): Δ For y (BCD), see the following figure D200: conversion result channel
Results: after the program is executed, it can realize the conversion from 0-6000 (bin) to - 100-200 (BCD) degrees Celsius display. Note: because BCD number represents decimal data in hexadecimal, the corresponding temperature value should be monitored in hexadecimal. For example, when the data in 200ch is & 4000 (i.e. 6.66v voltage input), the hexadecimal monitoring data D200 should display #100& The symbol represents a decimal number# Represents a hexadecimal number.
Application case of SCL instruction
Conditions: the output signal of OMRON PLC transmitter is 0-10V and the corresponding pressure is 0-400mpa; The analog input range of CP1H is set to 0-10V, and the resolution is 6000.
Purpose: use SCL instruction to scale the data 0-6000 (bin) obtained from analog conversion to 0-400mpa (BCD) display output. The procedure is as follows:
Results: after the program is executed, the pressure value from 0-6000 (bin) to 0-400 (BCD) can be realized. Note: because BCD number represents decimal data in hexadecimal, the corresponding pressure value should be monitored in hexadecimal. For example, when the data in 200ch is & 3000 (i.e. 5V voltage input), the hexadecimal monitoring data D200 should display #200& The symbol represents a decimal number# Represents a hexadecimal number.
The module of cpm1a-ad041 is used to collect the analog signal of 4-20mA. The analog signal is taken from a displacement sensor signal and represents a distance of 0-100mm. How can the data in the input channel be converted into the corresponding distance value?
SCL instruction can be used for such scaling conversion. The function of this instruction is to linearly convert a hexadecimal data into data of a BCD code. This instruction has three operands, as shown in Figure 1. S is the source word, P1 is the parameter first word, R is the result word. Four values should be set from P1 to P1 + 3, P1 is ay, P1 + 1 is ax, P1 + 2 is by, and P1 + 3 is BX (see Figure 2), In this example, because the input data range is 0-1770 hex, P1 + 1 and P1 + 3 are 0 and 1770 respectively, and the calibration result is 0-100, so P1 and P1 + 2 are 0 and 100 respectively. Specifically, for example, the input channel of ad041 is 002, dm0 is used as the parameter prefix, and D10 is used as the result word to store the distance value of 0-100. SCL 2 dm0 DM10 assigns 0, 01001770 to dm0-dm3 with MOV instruction before executing SCL instruction. After that, the SCL command can scale the input analog value to a distance value of 0-100.
Cpm1a-mad02-ch uses four channels of input, but its input data is placed in one channel every two channels, so it is impossible to monitor or process the input data of a single channel. Is there any way to separate the two channels of data?
Movd instruction can be used to transfer two channels of data to a separate channel. The instruction has three operands,
The arrangement of operands is shown in Figure 1. S is the source word, that is, the channel input with analog quantity, and Di is the designated digit number. The designation method of each digit is shown in Figure 2 above, that is, specify which digit in the source word to start transmission (one channel is 4 hexadecimal digits, and one input is half channel, that is, 2 hexadecimal digits), and transmit several digits, D is the number transmitted to the target channel. For example, now the first and second input channels of mad02 are 002 channels. Now, the first data is transmitted to dm0, the second data is transmitted to DM1, and the movd instruction
How to connect the external input current and voltage signals of cpm1a-ad041?
Voltage input: connect the external input positive signal to V in and the negative signal to com terminal;
Current input: short circuit the V in and I in terminals on the module, then connect the input positive signal, and connect the negative signal to com terminal.
How should the parameters of cpm1a-mad02-ch be set?
The function corresponding to each bit of N + 1 channel (n is the last output channel allocated to the CPU unit or the previous expansion unit) is allocated according to the following table. The bit corresponding to the range is to set the range range of input and output, and the bit corresponding to the start bit and average value is to set whether the function is used or not. For example, 4-channel input and 1-channel output are all used for 4-20mA, and the average value function is not used, Just set c3ff hex on channel n + 1.
How is the model of cp1h-x □ 40d □ - □ defined?
Interpretation of OMRON plcmovd instruction
Examples are as follows:
S: 200ch is the transmission source address, and the initial value is #abcd (hexadecimal). D: 300ch is the transmission destination address, and the initial value is #0000 (hexadecimal). Example 1: D300 is #0211: explain from left to right: 2 means that the transfer to the target word starts with bit 2 (i.e. 8-11 bits). 1 indicates the number of transmission bits and 2 bits. 1 indicates that the transmission source word starts with bit 1 (i.e. 4-7 bits). After the program is executed, the value in 300ch is #bc00. Example 2: D300 is #0230: explain from left to right: 2 means that the transfer to the target word starts with bit 2 (i.e. 8-11 bits). 3 represents 4 bits of transmission bits. 0 indicates that the transmission source word starts with bit 0 (i.e. 0-3 bits). After the program is executed, the value in 300ch is #cdab.
How are the addresses of cpm2a-30cdr-a equipped with cpm1a-ad041 and cpm1a-20edr1 allocated?
When CX programmer downloads a program, it prompts that the UM area is protected. What should I do?
① When creating a new PLC program, select file memory read-only in the setting after the equipment model. Just remove the hook of file memory read-only;
② Ask CPU model:
a. CPM series, DM 6602 set as ××× 1. Dm6602 can be set to ××× Power off and on after 0;
b. For c200ha or CQM1 series, if dip-1 in the switch under the CPU cover is turned on, turn off dip-1 and power on;
c. For CP / CJ / CS series, if the CPU has been added with a write protection password, the password needs to be released first. The dip-1 in the switch under the CPU cover plate is turned on. After power off, turn the dip-1 to off and power on.
After inputting analog data, what can I do if I want to scale the data into data with decimal point?
There are two methods: one is to enlarge the calibration result data to the nth power of 10 to obtain the decimal point. For example, two decimal places are required. For example, the input of 0-0fa0 is scaled into a BCD code of 0-10.00v with two decimal places, which is regarded as 0-1000. If it is CP1H or cqm1h, there is another method, that is, if the source data is converted into floating-point numbers for floating-point operations, it can also be done, but this method cannot be used because the PLC of CPM series does not support floating-point numbers.
When 4-20mA analog quantity is input, the input signal is 4mA, but the data of the input channel jumps at two values of 065535. Is this normal? What if there is no such data in actual use?
The hexadecimal of 65535 is actually ffff, because PLC uses binary complement to represent negative numbers. In fact, this data represents - 1, that is, the analog input jumps between 0 and - 1, which is normal. If dealing with the phenomenon of jump, do not directly use the data of the input channel. You can transfer the data to another intermediate channel and then use it. Before that, you can use a CPS comparison instruction to judge whether the input signal is negative. If it is negative, you will not transfer the input channel data, but send 0 to this intermediate channel and treat the signal as 0
Wiring of several commonly used RS-232C communication cables?
① Cable xw2z-200s-v connection diagram:
PLC (9-hole) side PC (9-pin computer) side
2――――2
3――――3
9――――5
4 and 5 of PLC are short circuited
4 and 6 on PC side are short circuited, and 7 and 8 are short circuited
② Cable xw2z-200s-cv connection diagram:
PLC (9-hole) side PC (9-pin computer) side
2――――2
3――――3
4――――8
5――――7
9――――5
③ Cable xw2z-200p-v connection diagram:
PLC (25 hole) side PC (9-pin computer) side
2――――2
3――――3
7――――5
PLC side 4 and 5 are short circuited, and 6 and 20 are short circuited.
Computer side 4 and 6 are short circuited, and 7 and 8 are short circuited.
④ Cable xw2z - 200t connection diagram:
PLC (9-hole) side touch screen (9-hole) side
2――――3
3――――2
9――――9
4 and 5 on both sides of PLC and touch screen shall be short circuited.
The peripheral port of cpm1a is converted into RS-422 port with cpm1-cif11, and then connected to RS-422 cable on the computer side?
Cif11 computer
SDA———RDA
SDB———RDB
RDA———SDA
RDB———SDB
Precautions for parameter setting of NC module
DM area setting of cj1w-ad041?
For DM word, the address definition is m = 20000 + (unit number * 100) d (m): input use setting D (M + 1): input signal range setting D (M + 2): input 1 mean processing setting D (M + 3): input 2 mean processing setting D (M + 4): input 3 mean processing setting D (M + 5): input 4 mean processing settings D (M + 6) ~ D (M + 17): unused ignore setting D (M + 18): the high 8 bits are rotation Change the time / resolution setting. The lower 8 bits are the operation mode settings. For specific parameter settings, please refer to the Chinese operation manual p86 of CJ1 / CS1 analog I / O unit
Example:
I use the pressure sensor to input 4-20mA, the corresponding working pressure is 0-70p, the SCL command source channel is 200, and the parameter word is D100 (how to write the memory settings D100, D101, d102 and D103). I want to make four alarms. When comparing with the CMP command, do the data comparison 1 Write D100 and the data comparison 2 write the specific values of the four alarms?
1: When the resolution is 6000, the four parameter numbers are as follows: D100: #0 D101: #0 d102: #70 D103: #1770; 2: When the resolution is 12000, the four parameter numbers are as follows: D100: #0 D101: #0 d102: #70 D103: #2ee0;
For example, if the result channel of SCL instruction uses D300, the value between 0-70p can be seen in D300. The CMP instruction is compared with the current quantities in D300 to output an alarm if certain conditions are met
Example 2:
The two pressure sensors are current type 4-20mA output with a range of 0-25mpa. I connect them to 200ch and 201ch respectively. The pressure calculation formula in actual work is: actual pressure x = 20 * 25 * D200 / 6000( Resolution assumed to be 6000);
My program is: - - P_ on-------Mov #0 D100
|-Mov #0 D101
|-Mov #25 D102
|-Mov #1770 D103
--P_ on-------Scl 200 D100 D200
|-CMP D200 d0 (setpoint)
|-P_ on--1000
Your calibration is correct, but d102 is set to #25 too small and the accuracy is too low. It is recommended to set it to #2500. P cannot be used as the discrimination flag of the comparison program_ On, read the full text, original title: OMRON PLC instruction application case (Q & A analysis)
Article fancier: [micro signal: plcfans, WeChat official account: PLC enthusiast] welcome to add attention! Please indicate the source of the article“
Our other product: