I’m writing a script to iterate through an array and write the tags to an array in a Rockwell PLC using the OPC server.
The tag values do write (most of the time, some don’t write the first pass but will the second) but for every write I get
“11:17:31.354 [Thread-16572] ERROR com.inductiveautomation.ignition.client.script.LegacyClientTagUtilities - Error writing to tag ‘[default]PEM Tags/PEM_Data/PEM_Data_103_/PEM_Type.value’: Bad_Unsupported”
Code:
import csv
with open('C:\\Users\image\Desktop\pems csv1.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
names = []
x = []
y = []
z = []
i = 0
nameTag1 = "[default]PEM Tags/PEM_Data/PEM_Data_0_/PEM_Type.value"
xTag1 = "[default]PEM Tags/PEM_Data/PEM_Data_0_/X_Location"
yTag1 = "[default]PEM Tags/PEM_Data/PEM_Data_0_/Y_Location"
zTag1 = "[default]PEM Tags/PEM_Data/PEM_Data_0_/Z_Location"
for row in readCSV:
if i > 3:
if (i % 2) == 0:
name = row[0]
names.append(name)
#system.tag.write(nameTag1.replace("0", str(i - 4)),name)
#print(i)
if (i % 2) == 1:
x1 = row[2]
y1 = row[3]
z1 = row[4]
#system.tag.write(xTag1.replace("0", str(i - 4)),x1)
#system.tag.write(yTag1.replace("0", str(i - 4)),y1)
#system.tag.write(zTag1.replace("0", str(i - 4)),z1)
x.append(float(x1))
y.append(float(y1))
z.append(float(z1))
i = i + 1
#print(row)
print(names)
print(x)
print(len(names))
print(len(x))
for j in range(len(names)):
system.tag.write(nameTag1.replace("0", str(j)),names[j])
system.tag.write(xTag1.replace("0", str(j)),x[j])
system.tag.write(yTag1.replace("0", str(j)),y[j])
system.tag.write(zTag1.replace("0", str(j)),z[j])