我好像是
大波就是我
級別: 家園常客
|
現在是這樣。有一臺上位機。程序是死的,我沒有辦法修改。上位機通過rs232接口跟下位機(PLC)通訊。 1:PLC發送給上位機的格式跟內容:PLC發送數據 03 13 02 SD 給上位機, 意思是讓上位機進行某一個操作 然后上位機返回03 13 01E5 說明操作成功(操作很多,這只是舉例子) 2:上位機發送給PLC的格式跟內容:上位機發送數據 03 13 02 GD 意思是讓下位機(PLC)進行某一個操作 然后上位機返回03 13 01E8 說明操作成功.(操作很多,這只是舉例子) 3:上位機不停發送固定數據給下位機PLC 88 88 88 88, 頻率是每秒一次。(作用是判斷上位機是否死機) 4:下位機不停發送固定數據給上位機 66 66 66 66, 頻率是每秒一次。(作用是判斷下位機是否死機) 問題:請問一下這個應該用什么PLC?走自由口通訊協議?可是PLC跟上位機一直在不停發送跟接收數據哎。接收跟發送都是4組十六進制數據。要是有協議的話我還是知道怎么寫,不同數據發送給不同寄存器嘛。 可現在沒辦法指定某一個寄存器哎,都是一股老的發送,接收。發送跟接收就這么四組數據,沒有指定寄存器哎。 有成功例子,人家下位機是用STC C52單片機高仿三菱的工控板子。說明這個是可以寫出來的嘛。 請各位大神提供一個思路,成功的,我發微信紅包哈。上位機發送接收格式內容沒有辦法修改哎。這是死的。 |
---|---|
|
不小心遇見你
自動項目、PLC、視覺、通訊等工控軟件開發QQ3515716
級別: 工控俠客
|
你的上位機如果不是走你的標準協議 而是自由協議 上位機程序是現成的? 固定了發送格式? 首先要知道上位機發送的數據格式 就知道是否走的標準協議 如果是自由協議 只能自己寫發送和接收程序了 如果交換數據多的話會累死人 幾條建議 如果協議是標準協議 比如 modbus TCPmodbus,canopen等 那么建議你使用一些指令方便的PLC,比如國產的信捷,麥格米特,國外的西門子等。一條指令搞定。 上位機程序自己做,僅是點單的數據交換 可以用VB做,如果數據交換量大,而且除了數據交換外,你的上位機還要進行其他運算的話 ,這就用到多線程,建議使用LBV和c#,否則你會遇到軟件假死現象。 |
|
---|---|---|
|