我好像是
大波就是我
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 303 個(gè)
工控威望: 603 點(diǎn)
下載積分: 1392 分
在線時(shí)間: 491(小時(shí))
注冊(cè)時(shí)間: 2012-12-09
最后登錄: 2024-10-19
查看我好像是的 主題 / 回貼
樓主  發(fā)表于: 2017-09-18 18:02
現(xiàn)在是這樣。有一臺(tái)上位機(jī)。程序是死的,我沒(méi)有辦法修改。上位機(jī)通過(guò)rs232接口跟下位機(jī)(PLC)通訊。
1:PLC發(fā)送給上位機(jī)的格式跟內(nèi)容:PLC發(fā)送數(shù)據(jù) 03 13 02 SD 給上位機(jī),  意思是讓上位機(jī)進(jìn)行某一個(gè)操作  然后上位機(jī)返回03 13 01E5  說(shuō)明操作成功(操作很多,這只是舉例子)
2:上位機(jī)發(fā)送給PLC的格式跟內(nèi)容:上位機(jī)發(fā)送數(shù)據(jù) 03 13 02 GD   意思是讓下位機(jī)(PLC)進(jìn)行某一個(gè)操作  然后上位機(jī)返回03 13 01E8  說(shuō)明操作成功.(操作很多,這只是舉例子)

3:上位機(jī)不停發(fā)送固定數(shù)據(jù)給下位機(jī)PLC 88 88 88 88,  頻率是每秒一次。(作用是判斷上位機(jī)是否死機(jī))
4:下位機(jī)不停發(fā)送固定數(shù)據(jù)給上位機(jī) 66 66 66 66,  頻率是每秒一次。(作用是判斷下位機(jī)是否死機(jī))



問(wèn)題:請(qǐng)問(wèn)一下這個(gè)應(yīng)該用什么PLC?走自由口通訊協(xié)議?可是PLC跟上位機(jī)一直在不停發(fā)送跟接收數(shù)據(jù)哎。接收跟發(fā)送都是4組十六進(jìn)制數(shù)據(jù)。要是有協(xié)議的話我還是知道怎么寫,不同數(shù)據(jù)發(fā)送給不同寄存器嘛。
可現(xiàn)在沒(méi)辦法指定某一個(gè)寄存器哎,都是一股老的發(fā)送,接收。發(fā)送跟接收就這么四組數(shù)據(jù),沒(méi)有指定寄存器哎。


有成功例子,人家下位機(jī)是用STC C52單片機(jī)高仿三菱的工控板子。說(shuō)明這個(gè)是可以寫出來(lái)的嘛。
請(qǐng)各位大神提供一個(gè)思路,成功的,我發(fā)微信紅包哈。上位機(jī)發(fā)送接收格式內(nèi)容沒(méi)有辦法修改哎。這是死的。
不小心遇見(jiàn)你
自動(dòng)項(xiàng)目、PLC、視覺(jué)、通訊等工控軟件開(kāi)發(fā)QQ3515716
級(jí)別: 工控俠客

精華主題: 3 篇
發(fā)帖數(shù)量: 2036 個(gè)
工控威望: 2953 點(diǎn)
下載積分: 25161 分
在線時(shí)間: 1427(小時(shí))
注冊(cè)時(shí)間: 2014-01-05
最后登錄: 2024-11-05
查看不小心遇見(jiàn)你的 主題 / 回貼
1樓  發(fā)表于: 2017-09-19 09:58
你的上位機(jī)如果不是走你的標(biāo)準(zhǔn)協(xié)議 而是自由協(xié)議
上位機(jī)程序是現(xiàn)成的? 固定了發(fā)送格式?
首先要知道上位機(jī)發(fā)送的數(shù)據(jù)格式 就知道是否走的標(biāo)準(zhǔn)協(xié)議  如果是自由協(xié)議 只能自己寫發(fā)送和接收程序了 如果交換數(shù)據(jù)多的話會(huì)累死人
幾條建議
如果協(xié)議是標(biāo)準(zhǔn)協(xié)議 比如 modbus TCPmodbus,canopen等 那么建議你使用一些指令方便的PLC,比如國(guó)產(chǎn)的信捷,麥格米特,國(guó)外的西門子等。一條指令搞定。
上位機(jī)程序自己做,僅是點(diǎn)單的數(shù)據(jù)交換 可以用VB做,如果數(shù)據(jù)交換量大,而且除了數(shù)據(jù)交換外,你的上位機(jī)還要進(jìn)行其他運(yùn)算的話 ,這就用到多線程,建議使用LBV和c#,否則你會(huì)遇到軟件假死現(xiàn)象。
項(xiàng)目、視覺(jué)、通訊QQ3515716