用条码枪扫描条码8962012324,跳出对应的触摸屏window11界面并在界面中显示出来扫描的位数10和条码数8962012324,之后再把读书的条码数8962012324储存在触摸屏的数据存储器中,随后通过宏指令定值比较选择从触摸屏中传数据到PLC数据储存器中。
指令思路:
macro_command main()
int a //定义变量a
GetData(a, "Barcode (USB/COM)", BARCODE_BCD, 1, 1)// 从条码枪中读数据
SetData(a, "Local HMI", LW_BCD, 1, 1) //把从条码枪中读出的数据传输到屏中
short f[2] //定义数组
if a == 8962012324 then
f[1]=1//数组
f[2]=2
SetData(f[0], "Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2", D, 128, 1)//传数组到PLC中
SetData(f[1], "Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2", D, 129, 1)
else if a ==6962014253 then
f[1]=4
f[2]=5
SetData(f[0], "Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2", D, 128, 1)
SetData(f[1], "Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2", D, 129, 1)
End if
end macro_command
出现的问题为只读出89,我赋值a==89后也不传输后面数组面到屏中,但是改用屏上面输入数值比较小于10的都能传输后面的数组到PLC中,是不是数据的型号不对呢? |