最近用PLC做了一个示教程序,由于数据量大,想在触摸屏上做一个宏来读写PLC的存储器数据,问题来了,如果用数组型式发送数据到PLC,发送1000个数组,估算了一下约6s,这样反应太慢了;现在我想换一个思路,能不能用ReadLocal WriteLocal来直接读写PLC内部的地址?这样我就可以把相应的地址传送到相对应的PLC地址,就不用每次触发宏都要把全部数据传一遍,请问熟练KINCO宏的朋友,能不能这样做,又或者有更好的方法
我也觉得奇怪,威纶的就可以直接读写,为什么步科就不行
请各位不吝赐教!谢谢!!在线等!!!!!
威纶写的宏如下:
哪位大神帮我转成KINCO的?很感谢啊
macro_command main()
short i , j
int X , Y , A ,JiShu , F , S
GetData(i, "Mitsubishi FX3u/FX3G", D, 7001, 1)
GetData(X, "Mitsubishi FX3u/FX3G", D, 200, 1)
GetData(Y, "Mitsubishi FX3u/FX3G", D, 202, 1)
GetData(A, "Mitsubishi FX3u/FX3G", D, 204, 1)
GetData(JiShu, "Local HMI", LW, 0, 1)
GetData(F, "Local HMI", LW, 10, 1)
GetData(S, "Local HMI", LW, 20, 1)
i=i+1
j = i
i = i * 10
if j >= 100 then
j = 100
end if
if JiShu == 8 then
SetData(JiShu, "Mitsubishi FX3u/FX3G", D, 5990+i, 1)
SetData(j, "Mitsubishi FX3u/FX3G", D, 7001, 1)
SetData(S, "Mitsubishi FX3u/FX3G", D, 5992+i, 1)
else
SetData(X, "Mitsubishi FX3u/FX3G", D, 5992+i, 1)
SetData(Y, "Mitsubishi FX3u/FX3G", D, 5994+i, 1)
SetData(A, "Mitsubishi FX3u/FX3G", D, 5996+i, 1)
SetData(F, "Mitsubishi FX3u/FX3G", D, 5998+i, 1)
SetData(JiShu, "Mitsubishi FX3u/FX3G", D, 5990+i, 1)
SetData(j, "Mitsubishi FX3u/FX3G", D, 7001, 1)
end if