Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

  • Explore the new navigation for even easier access to your community.
  • Bookmark and use our new, easy-to-remember address (community.se.com).
  • Get ready for more content and an improved experience.

Contact SchneiderCommunity.Support@se.com if you have any questions.

Close
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
84621members
353937posts

SCADAPack 470 Modbus TCP

Remote Operations Forum

Collaborate and share knowledge on the extensive range of remote systems and devices, including SCADA radios and RTUs, on the Schneider Electric Exchange Remote Operations (formerly SCADA & Telemetry) forum. From commissioning SCADA integration devices and software, to enhancing existing installations or troubleshooting, connect with a global community of experts and users. Subscribe today.

Solved
joshua_smith123
Crewman
Crewman
0 Likes
3
622

SCADAPack 470 Modbus TCP

Hello

I am new to the ScadaPack Range. I am looking for some help to set up some modbus registers in the device. 

I need to set up a ScadaPack 470 to communicate with CitectSCADA 2016 via Modbus TCP. 

i have been able to do the following

* Set digital input modbus addresses to be able to be read by SCADA

* Set Analog Input modbus addresses to be able to be read by SCADA

 

What i am wondering if i can do 

* Set up some modbus registers so that i can write analog values from the logic to the modbus register to the SCADA. For instance, say i have a rolling counter 0-1000 that increments every second in my logic, how do i write that value to a modbus register (example 40001) so that scada can read it. 

 

I know how to do it in Unity Pro XL, but obviously some of those features are missing from the Remote Connect x70 Logic Editor.

 

Thankyou. 


Accepted Solutions
Joel_Weder
Commander Commander
Commander

Re: SCADAPack 470 Modbus TCP

Hello Joshua,

 

To allow an external device eg Citect to communicate with an x70 SCADAPack via Modbus requires a few steps be performed, to configure the desired objects with Modbus addresses and configure the port.

 

1) While OFFLINE, right-click on the SCADAPack x70 Controller DeviceDTM and open the Additional Functions menu

2) Select Project Settings and ensure that Modbus IP Servers is selected 

NOTE: This feature is enabled by default, so we're just double-checking here...

 

3) On the main Configuration - SPx70 Controller tab, select the Objects tab, then Object Configuration

4) Expand the list of Analog, Digital and Counter objects and open an object that will communicate with Citect

5) Select the Modbus tab, enter a Modbus register and data type. Eg for a counter input you might enter 40001 and UINT.

6) Perform this same step with all other objects that must communicate via Modbus.

7) If desired to perform any scaling this can be done on the Basic tab. (eg for analog inputs)

NOTE: if configuring multiple items in a row, you can use the Next > button to move quickly between them.

8/ Once done, press Apply to accept the edits

 

9) Change to the Configuration tab, select the desired Ethernet port and configure it appropriately.

10) Expand the Modbus section, select Server, and set the Unit Identifier (Station address) as required.

11) Apply these changes made to the RTU.

12) Save the configuration, go Online, then Write the changed configuration to the RTU

 

Of general interest is this YouTube video series which presents a basic introduction to RemoteConnect and the Logic Editor.

https://www.youtube.com/watch?v=EVwk7ADhCqE&list=PLa7UGrWOTyjlyww9RcENfi8u9i8SKPZ0c&index=16

 

Joel Weder
Remote Operations Specialist
Schneider Electric

See Answer In Context

3 Replies 3
Joel_Weder
Commander Commander
Commander

Re: SCADAPack 470 Modbus TCP

Hello Joshua,

 

To allow an external device eg Citect to communicate with an x70 SCADAPack via Modbus requires a few steps be performed, to configure the desired objects with Modbus addresses and configure the port.

 

1) While OFFLINE, right-click on the SCADAPack x70 Controller DeviceDTM and open the Additional Functions menu

2) Select Project Settings and ensure that Modbus IP Servers is selected 

NOTE: This feature is enabled by default, so we're just double-checking here...

 

3) On the main Configuration - SPx70 Controller tab, select the Objects tab, then Object Configuration

4) Expand the list of Analog, Digital and Counter objects and open an object that will communicate with Citect

5) Select the Modbus tab, enter a Modbus register and data type. Eg for a counter input you might enter 40001 and UINT.

6) Perform this same step with all other objects that must communicate via Modbus.

7) If desired to perform any scaling this can be done on the Basic tab. (eg for analog inputs)

NOTE: if configuring multiple items in a row, you can use the Next > button to move quickly between them.

8/ Once done, press Apply to accept the edits

 

9) Change to the Configuration tab, select the desired Ethernet port and configure it appropriately.

10) Expand the Modbus section, select Server, and set the Unit Identifier (Station address) as required.

11) Apply these changes made to the RTU.

12) Save the configuration, go Online, then Write the changed configuration to the RTU

 

Of general interest is this YouTube video series which presents a basic introduction to RemoteConnect and the Logic Editor.

https://www.youtube.com/watch?v=EVwk7ADhCqE&list=PLa7UGrWOTyjlyww9RcENfi8u9i8SKPZ0c&index=16

 

Joel Weder
Remote Operations Specialist
Schneider Electric
dan.merrell
Crewman
Crewman
0 Likes
1
346

Re: SCADAPack 470 Modbus TCP

@Joel_Weder Is this the only possible way? I'm migrating an existing M340 project to a SCADAPack X70 with several hundred modbus word assignments for use with SCADA and an HMI. With the M340, I make use of the address field of a variable and enter "%MW330" for instance. I have many DDTs that are much larger than a modbus register. In M340, I assign the beginning address in the DDT address field, and the rest is automatically mapped as big as it needs to be. 

 

If I understand correctly, the only way to do this in the SCADAPack X70 is to first create a new object in the SCADAPack RemoteConnect Object Configuration, give it the modbus address "40330" and then in the Logic Editor perform a move operation from the desired variable to this new object.  With my larger DDTs this would involve much additional work to break up into individual registers.


Are there any other more direct ways of mapping this? 

Joel_Weder
Commander Commander
Commander

Re: SCADAPack 470 Modbus TCP

Hi Dan,

 

Yes, there definitely are a couple of procedures that might work for you. It's difficult to be precise about your exact needs, but here are two procedures that might move you in the right direction. The second option may be more suitable for your specific case.

 

1) Using Copy on the Objects tab:

- Create a new object in the desired object type e.g. Analog, Boolean, Counter

- Edit the object, give it a name, variable type (eg T_SPx70_ADV_ANALOG)

- Go to the object's Modbus tab and assign it a Modbus register #

- Click OK and Apply

- Select the object, then click the Copy Objects button 

- Enter the Number of Copies e.g. 100

- De-select the DNP3 options as you don't want to assign DNP3 addresses

- In the Modbus Options area, the default is to start assigning registers from the next available one

- If you want to start at a specific register #, click "Assign Modbus registers sequentially starting from" then enter the start register.

- This will create objects with the name "xxxxxxx_Copy##" where xxxxxxxx is the original object's name and ## is the copy #.

 

2) Using Arrays and Excel:

- In Logic Editor,. open Derived Variables

- Enter a name for the array in the first blank row

- In the Type column, click the ellipsis (the ... box) 

- Click the Array check-box and enter the desired size

- On the left side in the Libraries area, expand Libset then select SCADAPack x70

- Expand the desired object type (e.g. T_SPx70_ADV_ANALOG), select VALUE_ENG then click OK

- Back in RemoteConnect, click the Update & Build Logic button

- You should now see the new array of objects in the Objects tab Eg TestArray[0]

- Right-click on the SCADAPack x70 Controller Settings DTM, open Additional Functions

- Select Export to Excel file. Navigate to a folder and provide a filename

- Open in Excel, select the Objects tab, and find the Modbus Register column. (column O typically)

- You can quickly add Modbus register #'s for all array elements. Eg for Real analogs, first row enter 40001, 2nd row enter 40003. Select both then drag down the full length of the objects to which registers are to be assigned.

- Then Save the file and close it.

NOTE: Ensure you don't change anything else!

- Back in RemoteConnect, again go to Additional Functions but this time do an Import from Excel file.

- In the Objects list, you'll now see all the array objects have sequential Modbus register addresses

 

Joel Weder
Remote Operations Specialist
Schneider Electric