Updated VFD File and added ability to read drive parameters with Python
This commit is contained in:
BIN
Vacon 100_C163401519_C163401519.dpd
Normal file
BIN
Vacon 100_C163401519_C163401519.dpd
Normal file
Binary file not shown.
Binary file not shown.
59
testVaconCPPPO.py
Normal file
59
testVaconCPPPO.py
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
from cpppo.server.enip.get_attribute import proxy_simple
|
||||||
|
import logging
|
||||||
|
|
||||||
|
class VFD_COMM(proxy_simple):
|
||||||
|
'''A simple (non-routing) CIP device with one parameter with a
|
||||||
|
shortcut name: 'A Sensor Parameter' '''
|
||||||
|
PARAMETERS = dict(proxy_simple.PARAMETERS,
|
||||||
|
at_reference = proxy_simple.parameter('@0x2A/1/3', 'BOOL', "I/O"),
|
||||||
|
net_ref = proxy_simple.parameter('@0x2A/1/4', 'BOOL', "I/O"),
|
||||||
|
drive_mode = proxy_simple.parameter('@0x2A/1/6', 'SINT', "mode"),
|
||||||
|
speed_actual = proxy_simple.parameter('@0x2A/1/7', 'INT', "Hz"),
|
||||||
|
speed_ref = proxy_simple.parameter('@0x2A/1/8', 'INT', "Hz"),
|
||||||
|
torque_actual = proxy_simple.parameter('@0x2A/1/0x0B', 'INT', "Nm"),
|
||||||
|
torque_ref = proxy_simple.parameter('@0x2A/1/0x0C', 'INT', "Nm"),
|
||||||
|
speed_scale = proxy_simple.parameter('@0x2A/1/0x16', 'SINT', "Nm"),
|
||||||
|
torque_scale = proxy_simple.parameter('@0x2A/1/0x18', 'SINT', "Nm"),
|
||||||
|
ref_from_net = proxy_simple.parameter('@0x2A/1/0x1D', 'BOOL', "I/O")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Vacon100:
|
||||||
|
def __init__(self, ip_address):
|
||||||
|
self.ip_address = ip_address
|
||||||
|
self.cpppo_proxy = VFD_COMM(ip_address)
|
||||||
|
|
||||||
|
def read_ACDCDriveOBj(self):
|
||||||
|
try:
|
||||||
|
vals_wanted = [
|
||||||
|
"At Reference",
|
||||||
|
"Net Ref",
|
||||||
|
"Drive Mode",
|
||||||
|
"Speed Actual",
|
||||||
|
"Speed Ref",
|
||||||
|
"Torque Actual",
|
||||||
|
"Torque Ref",
|
||||||
|
"Speed Scale",
|
||||||
|
"Torque Scale",
|
||||||
|
"Ref From Net"
|
||||||
|
]
|
||||||
|
params = self.cpppo_proxy.parameter_substitution(vals_wanted)
|
||||||
|
vals = self.cpppo_proxy.read(params)
|
||||||
|
val_list = list(vals)
|
||||||
|
for x in range(0, len(vals_wanted)):
|
||||||
|
print("{}: {}".format(vals_wanted[x], val_list[x][0]))
|
||||||
|
return(vals)
|
||||||
|
except Exception as exc:
|
||||||
|
logging.warning("Access to remote CIP device failed: %s", exc)
|
||||||
|
self.cpppo_proxy.close_gateway(exc=exc)
|
||||||
|
raise
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
vacon_100 = Vacon100("10.20.4.27")
|
||||||
|
print(vacon_100.read_ACDCDriveOBj())
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
import sys
|
||||||
|
sys.exit(int(main() or 0))
|
||||||
|
|
||||||
Reference in New Issue
Block a user