雨天神
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 35 個
工控威望: 159 點
下載積分: 392 分
在線時間: 55(小時)
注冊時間: 2011-11-29
最后登錄: 2024-10-11
查看雨天神的 主題 / 回貼
樓主  發(fā)表于: 2013-07-01 22:27
大家好,小弟最近在做一工程,客戶那邊要求485方式通信,所以我選用了QJ71C24N 這個模塊。第一次用這個模塊,不會用,所以在此向大家請教一下如何做通信程序?
1.我這邊是從機,客戶那邊發(fā)命令到我的PLC中,比如客戶那邊發(fā)開機的命令,如果我這邊的機器沒有問題,就返回一個數(shù)據(jù),如果我的設(shè)備上有故障,就返回故障信息。
2.因為我這邊是從機,是不是只能是客戶那邊有發(fā)數(shù)據(jù),我這邊才能返回數(shù)據(jù)?


我說一下 我的思路:
1.下行通信幀:幀頭 站號 命令 數(shù)據(jù) 校驗 幀尾
2.上行通信幀:幀頭 站號 命令 數(shù)據(jù) 校驗 幀尾

當我用INPUT 指令接數(shù)到下行的數(shù)據(jù)時,是不是先判斷站號,然后再把接收到的數(shù)據(jù)求出校驗,如果校驗碼與發(fā)下來的一樣,那么我就把相應(yīng)的數(shù)據(jù)返回給上位機,不
知我的思路對嗎?


因為我這邊是從機,所以我要寫一份通信協(xié)議,讓客戶的上位機根據(jù)他的需求來寫/讀操作,如寫開機、關(guān)機 信號,讀報警信息。
有哪位大哥大姐做過相應(yīng)的程序呀,能幫幫忙嗎,謝謝了。
wangk0
人都有點過去~
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 82 個
工控威望: 2155 點
下載積分: 3866 分
在線時間: 64(小時)
注冊時間: 2012-05-17
最后登錄: 2024-04-11
查看wangk0的 主題 / 回貼
1樓  發(fā)表于: 2013-07-02 02:12
雖然沒搞過,但我覺得用中斷寫會方便很多。接收到信息后中斷,把接收到的信息存到D里,通過比較D來判斷執(zhí)行哪一路程序。
雨天神
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 35 個
工控威望: 159 點
下載積分: 392 分
在線時間: 55(小時)
注冊時間: 2011-11-29
最后登錄: 2024-10-11
查看雨天神的 主題 / 回貼
2樓  發(fā)表于: 2013-07-02 08:29
我也想用中斷,但是QJ71C24N 這個模塊,有接收讀取請求的信號,當這個信號為ON時,就可以接收上位機發(fā)來的數(shù)據(jù),轉(zhuǎn)移動D區(qū)里,然后就先判斷站號,如果是對的,再判斷命
令,如果是對的,然后再算校驗碼,校驗碼相等時,就從D里提取數(shù)據(jù),同時返回相應(yīng)的數(shù)據(jù)給上位機。

不知我的想法可行嗎,因為以前我看到過有些單片機通信程序是這樣做的,而在PLC里,寫從站的協(xié)議是否也可以這樣做,或者有更好的方法?
雨天神
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 35 個
工控威望: 159 點
下載積分: 392 分
在線時間: 55(小時)
注冊時間: 2011-11-29
最后登錄: 2024-10-11
查看雨天神的 主題 / 回貼
3樓  發(fā)表于: 2013-07-02 22:33
沒有回復(fù),自己頂
1421219181
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 16 個
工控威望: 273 點
下載積分: 2653 分
在線時間: 54(小時)
注冊時間: 2013-07-15
最后登錄: 2017-09-20
查看1421219181的 主題 / 回貼
4樓  發(fā)表于: 2013-07-29 09:08
等高手回復(fù)
hucaishu
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 113 個
工控威望: 261 點
下載積分: 25061 分
在線時間: 104(小時)
注冊時間: 2013-07-18
最后登錄: 2024-08-30
查看hucaishu的 主題 / 回貼
5樓  發(fā)表于: 2013-08-28 11:52
向高手學(xué)習(xí)了