神仙不養(yǎng)魚
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 49 個
工控威望: 107 點
下載積分: 1977 分
在線時間: 13(小時)
注冊時間: 2020-06-08
最后登錄: 2022-12-22
查看神仙不養(yǎng)魚的 主題 / 回貼
樓主  發(fā)表于: 2021-04-24 09:56
圖片:
之前提過一個問題,就是讓操作者自行輸入一個點進行監(jiān)控,達到設(shè)備排查故障時同畫面可以監(jiān)控必要的輸入輸出點的問題
后來一位大哥提點了一下用宏指令,最近閑余的時候研究了一下,做了一個點實驗,功能上基本能完成
但是用PC連接PLC在線模擬的時候發(fā)現(xiàn)問題
第一個版本是用的select case 的方式選擇輸出,由于點太多的話語句太復(fù)雜,只做了少量的點。直接關(guān)聯(lián)PLC輸入的指示燈和宏指令管來的指示燈都可以迅速反應(yīng)。
第二個版本用的數(shù)組的方式,由于語句比較簡單,所以添加了64個點,這時問題就來了。宏指令關(guān)聯(lián)的指示燈對比直接關(guān)聯(lián)PLC的指示燈慢0.5-1秒的樣子。這是什么原因呢?
請各位大神指導(dǎo)指導(dǎo)
附上第二版本的指令
macro_command main()
char X1scan = 0
bool Xstate[64]
char i = 0
bool Xled = 0
GetData(X1scan, "Local HMI", LW, 0, 1)
GetData(Xstate[0], "Mitsubishi FX3U/FX3G/FX3GA", X, 0, 64)
i = X1scan
Xled = Xstate
SetData(Xled, "Local HMI", LB, 0, 1)
end macro_command
神仙不養(yǎng)魚
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 49 個
工控威望: 107 點
下載積分: 1977 分
在線時間: 13(小時)
注冊時間: 2020-06-08
最后登錄: 2022-12-22
查看神仙不養(yǎng)魚的 主題 / 回貼
1樓  發(fā)表于: 2021-04-24 09:57
不知道是否是因為讀寫的數(shù)據(jù)太多導(dǎo)致程序運行的周期變長了
神仙不養(yǎng)魚
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 49 個
工控威望: 107 點
下載積分: 1977 分
在線時間: 13(小時)
注冊時間: 2020-06-08
最后登錄: 2022-12-22
查看神仙不養(yǎng)魚的 主題 / 回貼
2樓  發(fā)表于: 2021-04-24 09:59
減小到16個點也是有延時
神仙不養(yǎng)魚
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 49 個
工控威望: 107 點
下載積分: 1977 分
在線時間: 13(小時)
注冊時間: 2020-06-08
最后登錄: 2022-12-22
查看神仙不養(yǎng)魚的 主題 / 回貼
3樓  發(fā)表于: 2021-04-24 14:35
來都來了,指點一二唄
神仙不養(yǎng)魚
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 49 個
工控威望: 107 點
下載積分: 1977 分
在線時間: 13(小時)
注冊時間: 2020-06-08
最后登錄: 2022-12-22
查看神仙不養(yǎng)魚的 主題 / 回貼
4樓  發(fā)表于: 2021-04-24 14:45
解決了,宏指令的時間間隔沒有調(diào)整,之前是10*100ms,改成1*100ms就行了,不過還是有0.1秒的延時,效果要好多了