現在做一個類似觸摸屏的程式,要讀取plc的記憶體,有一些問題不懂,請大神指教!
1.觸摸屏與plc連接后,是把plc中的所有記憶體都讀到自身嗎?還是在觸摸屏中用到了plc的哪個記憶體就讀哪個(沒用到的不讀取)?
2.由問題1引申出來的,在讀取時,是應該連續讀取一個區域的記憶體?還是每個地址單獨讀取?
uj5u.com熱心網友回復:
plc可以輸出記憶體的資料,不過這種輸出通常遵循一定的協議格式,PLC的通訊一般是modbus協議,很少有其它協議型別,約定俗成的都是modbus協議,關于modbus協議的具體情況,可以參考國標《GBT19582.1-2008 Modbus應用協議》和《GB-T1958.2-2008 Modbus協議在串行鏈路上的實作指南》,明白modbus協議之后,你還得和plc的技術支持聯系,跟他們要這個PLC對應的modbus協議點表,這個點表包含了具體的資料型別、長度、暫存器地址等等,你可以理解成記憶體映射圖。不同的功能、不同的人寫的PLC程式對應的點表都是不同的,所以沒有對應的modbus協議點表,什么也干不了。uj5u.com熱心網友回復:
協議部分我已經搞定了,能夠讀出和寫入plc的記憶體!
現在的疑問是:
我是應該把plc的記憶體全部讀到pc端程式里,把這些資料存起來,然后pc端程式用到哪個就使用哪個?(這樣的話,一次性要讀取很多的資料,其中有很多是沒用的!)
還是pc端用到哪個plc記憶體的話,就只讀取plc的對應記憶體?而不是讀取plc的全部記憶體!(這樣的話,如果所讀取的plc記憶體不連續,那么需要很多的讀寫指令!)
所以想問一下,像威綸通等這種觸摸屏是怎么做的!
uj5u.com熱心網友回復:
坐等大神回復,小白學習。uj5u.com熱心網友回復:
從程式實時性考慮的話,應該用哪個讀哪個,因為plc一般都做工控,狀態是不定的,如果提前讀取的話,很可能和實際不同;如果你為了方便編程,當然是一次性讀出全部記憶體更方便,只不過要注意實時狀態的變化。也可以把一些純粹的設定引數事先讀取出來,實時狀態引數就用的時候再讀取。沒有一定之規,全看具體的應用
uj5u.com熱心網友回復:
非常感謝你,我是小白,感謝指教!uj5u.com熱心網友回復:
結貼,給分,別光感謝,等分用呢轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/129188.html
標籤:單片機/工控
下一篇:tinymix Mixer name: 'rockchip,es8323-codec' Number of controls: 0
