Understanding the Delta DVP04DA-S2 Analog Module: Insights on ISPsoft Coding for 4-20mA Sensors

Question:

Hello! I've developed a program using ISPsoft for an analog 4-20mA sensor. I'm looking for clarification on the meanings of the modules TO m1, m2, S, FROM m1, m2, and SCLP S1, S2. Can anyone provide insights into what these specific codes represent? Please refrain from citing the definitions from the ISPsoft help documentation, as I've already reviewed that. I've attached a screenshot of my ISPsoft program for reference. Thank you!

Top Replies

Hello PL_cTO/FROM: The "TO" function is used for transmitting or writing data to a specific module, while the "FROM" function is designed for retrieving data from a specialized module. A special module refers to any module that is not a digital I/O module or any module that can be configured. It's important to note that the behavior of the TO and FROM functions can vary depending on the specific PLC model you’re working with. For instance, the AH series of PLCs from Delta features three "m" registers. However, the image you shared contains only two "m" registers, which suggests that you are likely using the DVP series. In both the TO and FROM functions: - **m1** is where you input the number of the special module connected to the right side of the CPU for communication. Special modules on the right side are numbered starting from 1 and proceed leftward, while those on the left start at 100 and move right. Digital I/O cards in between do not affect this count. For example, if your setup includes a CPU followed by digital inputs, an analog input, a digital output, and an analog output, the analog input card would be designated as special module 1 and the analog output as special module 2. - **m2** indicates the control register where you want to either read or write data. The control registers are detailed in the respective instruction manual for each special module. - **S** represents the data to be written into the control register of the special module. This can be either configuration data or an output value. - **n** indicates the number of consecutive words you wish to write. Typically, writing a single word is sufficient, so this can often be set to 1. - **D** denotes the PLC register address where you will save the information you've just read. **Example:** If you have a thermocouple card (DVP-04TC-S) connected to the right side of your DVP-12SE CPU and want to configure its four input channels for a type J thermocouple using the "TO" function, you would set: - **m1 = 1** (indicating it's the first special module). - **m2 = 1** (because CR1 in the instruction sheet is where the thermocouple type is set). - **S = 0** (setting b0-b2=0 for channel 0 to type J, b3-b5=0 for channel 1, b6-b8=0 for channel 2, and b9-b11 for channel 3; b12-b15 are reserved). Thus, setting CR1 to 0 configures all channels for type J thermocouples. - **n = 1** (indicating you are sending 1 word). To read the average temperature data in Β°C from each channel using the "FROM" function, you would set: - **m1 = 1**, - **m2 = 6** (where CR6 stores the average temperature for the first channel), - **D = D100** (the designated location for storing that average temperature), - **n = 1** (indicating you are reading 1 word). **SCLP Function:** The SCLP function is used to scale a value to another value within a designated range. Alternatively, you can utilize DSCLP, which is the double word version of SCLP. - **S1** is your input value (the value you wish to scale). - **S2** is the first register containing the ranges that the SCLP function will process, which accounts for 4 registers for SCLP and 8 registers for DSCLP. - **D** will be your output value, providing the scaled result. **Example:** Consider a scenario where an operator inputs a valve opening percentage between 0-100 on an HMI, stored in D50. If the analog output card operates on a scale of 0-4000 points to achieve an output of 4-20mA, you might designate D500 and beyond for your parameter registers. **Summary:** For your input range of 0-100 and the output/scaled range of 0-4000, set up your parameters as follows: - **D500** = maximum input value (set to 100). - **D501** = minimum input value (set to 0). - **D502** = maximum scaled value (set to 4000). - **D503** = minimum scaled value (set to 0). Assign: - **S1 = D50** (the operator input). - **S2 = D500** (the first parameter register). I hope this information proves helpful. **Note:** I wrote this in a bit of a rush, so please double-check for any inaccuracies. Best regards, Guy

Correction: The initial special module located to the right of the CPU is labeled as 0 rather than 1.

More Replies β†’

Streamline Your Asset Management
See How Oxmaint Works!!

βœ…   Work Order Management

βœ…   Asset Tracking

βœ…   Preventive Maintenance

βœ…   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

You must be a registered user to add a comment. If you've already registered,
sign in. Otherwise, register and sign in.

Frequently Asked Questions (FAQ)

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  β†’