Applies To:
  • CitectSCADA / Vijeo Citect 

Summary:

Using Citect SCADA to acquire data from an ATV drive results in #COM errors on a few, some or all variables, depending on how they are positioned in the ATV's memory space.


Solution:
 

Setup:
ATV71 with CIC, connecting from computer through USB-RS485 converter, ethernet cable to ATV's Modbus/CANOpen port
CoDeSys 2.3 programming environment, program in CIC assigns variables, types and addresses in the drive's %MW (or %MX) space from 0 to 2048
Citect SCADA 7.1 SP1, Windows XP in Virtual Machine environment
All CoDeSys variables other than DIGITALs were addressed to even numbers, the Citect addresses were odd, as in Citect = CoDeSys + 1

 

Citect Communications (unlisted fields are blank):

Cluster:
Name = PumpA

Network Address:
Name = Network1
Address = 127.0.0.1

I/O Server:
Cluster Name = PumpA
Server Name = IOServer
Network Address = Network1

Boards:
Board Name = Board1
Board Type = COMX
Address = 3 (from COM3 listed in Windows XP Device Manager when you plug in the USB-RS485 dongle)

Ports:
Port Name = Port1_ Board1
Port Number = 3
Board Name = Board1
Baud Rate = 19200 (Baud Rate and the next 3 mirror what is configured in the ATV/CIC)
Data Bits = 8
Stop Bits = 1
Parity = EVEN_P

I/O Devices:
Name = ATV_PLC
Number = 1
Address = 9
Protocol = MODBUS30 
Port Name = Port1_Board1

** note: variables listed as %MX in CoDeSys do not work if addressed in Citect as %MX, they must be %MW in Citect

 

\Config\citect.ini params
[Modbus]
InitUnitAddress = 100
Block=1 (only set this if you continue to see #COM Flickers)
[General]
CheckAddressBoundary = 1

** Additionally you may need to Subtract 1 from each %MW address configured in the Altivar71 to allign with the Modbus30 protocol and you may need to limit array types to no more than 31 length

 

 

 

 

 

 

 


Keywords:
 

Attachments