雨天神
級(jí)別: 探索解密
![]() |
![]() 1.我這邊是從機(jī),客戶那邊發(fā)命令到我的PLC中,比如客戶那邊發(fā)開機(jī)的命令,如果我這邊的機(jī)器沒有問題,就返回一個(gè)數(shù)據(jù),如果我的設(shè)備上有故障,就返回故障信息。 2.因?yàn)槲疫@邊是從機(jī),是不是只能是客戶那邊有發(fā)數(shù)據(jù),我這邊才能返回?cái)?shù)據(jù)? 我說一下 我的思路: 1.下行通信幀:幀頭 站號(hào) 命令 數(shù)據(jù) 校驗(yàn) 幀尾 2.上行通信幀:幀頭 站號(hào) 命令 數(shù)據(jù) 校驗(yàn) 幀尾 當(dāng)我用INPUT 指令接數(shù)到下行的數(shù)據(jù)時(shí),是不是先判斷站號(hào),然后再把接收到的數(shù)據(jù)求出校驗(yàn),如果校驗(yàn)碼與發(fā)下來的一樣,那么我就把相應(yīng)的數(shù)據(jù)返回給上位機(jī),不 知我的思路對(duì)嗎? 因?yàn)槲疫@邊是從機(jī),所以我要寫一份通信協(xié)議,讓客戶的上位機(jī)根據(jù)他的需求來寫/讀操作,如寫開機(jī)、關(guān)機(jī) 信號(hào),讀報(bào)警信息。 ![]() 有哪位大哥大姐做過相應(yīng)的程序呀,能幫幫忙嗎,謝謝了! |
---|---|
|
wangk0
人都有點(diǎn)過去~
級(jí)別: 工控俠客
![]() |
雖然沒搞過,但我覺得用中斷寫會(huì)方便很多。接收到信息后中斷,把接收到的信息存到D里,通過比較D來判斷執(zhí)行哪一路程序。 |
---|---|
|
雨天神
級(jí)別: 探索解密
![]() |
我也想用中斷,但是QJ71C24N 這個(gè)模塊,有接收讀取請(qǐng)求的信號(hào),當(dāng)這個(gè)信號(hào)為ON時(shí),就可以接收上位機(jī)發(fā)來的數(shù)據(jù),轉(zhuǎn)移動(dòng)D區(qū)里,然后就先判斷站號(hào),如果是對(duì)的,再判斷命 令,如果是對(duì)的,然后再算校驗(yàn)碼,校驗(yàn)碼相等時(shí),就從D里提取數(shù)據(jù),同時(shí)返回相應(yīng)的數(shù)據(jù)給上位機(jī)。 不知我的想法可行嗎,因?yàn)橐郧拔铱吹竭^有些單片機(jī)通信程序是這樣做的,而在PLC里,寫從站的協(xié)議是否也可以這樣做,或者有更好的方法? |
---|---|
|