Remote Operations Forum
Support forum for Schneider Electric SCADA systems, radios and RTUs. From commissioning integration devices and software, to enhancing existing installations or troubleshooting.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-06 10:47 AM
Hello, I need help to understand how in the SCADAPack x70 Logic Editor I can assign a variable created (calculation) to it, for example, the Modbus address 40003.
Best regards,
Jaime Alarcón N.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-07 08:02 AM
Hello Jaime,
I think I understand that you want to know how to assign a Modbus address to an object (a variable result of a calculation). This is done in the RemoteConnect object editor. On the Objects tab in RemoteConnect, find the object that the calculation result will be written to and open it by double-clicking on it. You then select the Modbus tab in the Object Editor and assign it a register number and type.
I hope this helps, but if I've mis-understood your question please do reply with clarification.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-07 08:02 AM
Hello Jaime,
I think I understand that you want to know how to assign a Modbus address to an object (a variable result of a calculation). This is done in the RemoteConnect object editor. On the Objects tab in RemoteConnect, find the object that the calculation result will be written to and open it by double-clicking on it. You then select the Modbus tab in the Object Editor and assign it a register number and type.
I hope this helps, but if I've mis-understood your question please do reply with clarification.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-11 05:58 PM
Hi Joel,
thank you very much for your help, I am an old user of SCADAPack, but I have always developed the projects through the IsaGRAF Software. Let me please ask one last question, I need to move a Modbus register belonging to the RealFLO measurement from one register to another. For example, I need to read the local Modbus 407528 registry and leave it in the 40017 registry.
In the case of IsaGRAF I used the block "getregf"
Thank you very much,
Best Regards,
Jaime Alarcón N.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-12 09:00 AM
OK Jaime, this is a separate issue...
You can create a new object on RemoteConnect's Objects tab to receive the data. Make sure you assign it to the logic variable type "T_SPx70_REAL". On that object's Modbus tab you will then configure it with the destination Modbus address. Then, in a Logic Editor section, you can use a Move function block to copy the *.value parameter of the source register to the *.value of the destination register. See the attached image for a simple example.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-13 06:18 AM
Hi Joel,
It's a little different what I need. The equipment I am using is a SCADAPAck 474 PLC, which has running the RealFLO application for Gas measurement. RealFLO has a Modbus data mapping defined by each measurement RUN. We need to take the record of that address and move it to another address.
For example the Flow volume rate RealFLO registers it in the direction Modbus 407528, but we need to move it to an object that has a direction Modbus 40033.
As I mentioned, with the iSaGRAF I used the "getregf" block that allowed me to move modbus records from one place to another.
I hope I have been clear, I urgently need to solve this problem.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-13 11:10 AM . Last Modified: 2022-12-13 11:12 AM
My apologies. After consulting with one of our Realflo experts I realized my suggested solution is much too simple. There are two ways to get Realflo data into RemoteConnect and the Logic Editor.
First, I’ll discuss how to get instantaneous (current) readings from the flow computer, which I believe is what you need. To do this, you’ll need to set up a Modbus Scanner in RemoteConnect. Afterwards I will mention how to get or set configuration parameters from Logic Editor, in case you need that later.
- While Offline, right-click on SCADAPack x70 Controller Settings -DeviceDTM
- Select Additional Functions, then Project Settings. This is where you’ll have enabled Realflo.
- Enable the Modbus IP Client, then click OK. This allows the RTU to perform IP polling.
- In the Modbus configuration area, you’ll now see the Client item. Select this.
- Click the Add Device button. Give the new Client a name e.g. “Realflo Polling”
- Enter an IP address of 127.0.0.1 (the same RTU that Realflo is on)
- Near the bottom, ensure you select 6 digit Modbus addressing
- Click OK, then Apply the change
- Expand Client by clicking the [+] and select the client just created
- Click the Add Scanners button
- Set the Modbus Data Type to Real, then enter the address of 407528
- Enter a Register Quantity of 2 (two registers per Real value) then click OK
- Select Automatically Create and Connect new Objects then click OK and Apply
- The new object is assigned to e.g. MBUS_Realflo_REAL_407528. You can change this to something else such as Run1_FlowRate or whatever you prefer.
- Configure this new object a type of Real.
- In the Objects configuration, create a new Real object and assign it a Modbus address of 40033
- In Logic Editor, create a MOVE function block to transfer the .value parameter of the flow rate register that the scanner is reading to the .value parameter of the new object.
If you need to change or view Modbus parameters related to AGA or VCone configuration, it's necessary to import a DFB (derived function block) that's provided when Realflo is installed. A sub-folder is included called "x70 Logic Function Blocks." The appropriate DFB must be imported into Logic Editor, then used to get the value from Realflo. To do that, in Logic Editor, right-click on Derived FB Types and select Import, then navigate to Program Files (x86) > Schneider Electric > Realflo > x70 Logic Function Blocks.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-14 09:01 AM . Last Modified: 2022-12-14 09:01 AM
I have just been sent a DFB from a co-worker who wrote it to avoid use of the Modbus Scanner. This derived function block can be imported, then instances of it may be used. Each instance will poll one REAL Modbus register from the flow computer. There are two limitations:
- It will only poll one Real value. If needing two or more, just daisy-chain the Done output to the Request input of a following instance.
- This DFB only works with 5-digit Modbus registers. It will not accept 6-digit values.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-15 05:23 AM
Hi Joel, thank you so much for this bookstore. I was analyzing it and I can not understand how to instantiate it, is it possible that you help me with example?
Best regards,
Jaime Alarcón
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-12-15 08:28 AM . Last Modified: 2022-12-15 08:32 AM
To Import the DFB:
- Save it to your computer & remember where you put it
- Right-click on the Derived FB Types folder in Logic Editor and select Import
- Navigate to the location of the DFB, select it, then click the Import button
To Save the DFB for future projects:
- Expand the Derived FB Types folder and right-click the new DFB with your mouse
- Select the Put in Library option
- Expand the Custom Lib folder and select Custom Family
- Click OK to save the DFB there. Now it may be used later in other projects as well.
To Use the DFB in your Project:
- Create a new logic section in your preferred language, for example FBD
- Press Ctrl-i to insert a new function or function block, or click the FFB Input Assistant button on the toolbar
- In the FFB Type entry line, type the name of the DFB you have imported. For example Get_Reg_Float
- An instance of the DFB will now will appear. You can see it is called, for example, Get_Reg_Float_1
- Click the OK button and Confirm
- Now using your mouse pointer, aim at the location where you want the FB and click the left mouse button.
- The DFB drops into location and is now configured just like any other function block
NOTE: If you don't remember the name of the DFB (or any function block), click the ellipsis [the ... to the right of the FFB Type entry line] and search for it. This DFB will be in the Libset V15 folder, under Custom Lib > Custom Family.
To use the new Get_Reg_Float, take a look at the attached image. It shows several of these function blocks used in a daisy-chain format. (or you can just use one of course) Note that you can use a simple elementary variable like "Done" to trigger the function block. See how the input is negated, so it will continuously toggle on/off. You can see the Success output if you want, while online in Connected mode. Shouldn't be any need to assign a variable to it, as once it starts working it should not ever fail.
@Jalarconn wrote:
Hi Joel, thank you so much for this bookstore. I was analyzing it and I can not understand how to instantiate it, is it possible that you help me with example?
Best regards,
Jaime Alarcón
-
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-05-19 09:03 AM
Hi Joel,
Thank you for providing such a good example for getregfloat equivalent DFB. I'm trying to convert a Workbench Target 3 program to RemoteConnect and there are lots of getregus in program, my question is getregfloat or getregus get the value in output as they have been called as a command, instantly, what about this DFB, because I see timeout is 250ms, I ask this question because I want to use the DFB not with different instance DB, I want to call it only with one instance DB several times in program, that works for me as a FUNCTION that we don't have in RemoteConnect. Do you think it works this way?
Bahman
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.