雨天神
級別: 探索解密
|
大家好,小弟最近在做一工程,客戶那邊要求485方式通信,所以我選用了QJ71C24N 這個模塊。第一次用這個模塊,不會用,所以在此向大家請教一下如何做通信程序? 1.我這邊是從機,客戶那邊發命令到我的PLC中,比如客戶那邊發開機的命令,如果我這邊的機器沒有問題,就返回一個數據,如果我的設備上有故障,就返回故障信息。 2.因為我這邊是從機,是不是只能是客戶那邊有發數據,我這邊才能返回數據? 我說一下 我的思路: 1.下行通信幀:幀頭 站號 命令 數據 校驗 幀尾 2.上行通信幀:幀頭 站號 命令 數據 校驗 幀尾 當我用INPUT 指令接數到下行的數據時,是不是先判斷站號,然后再把接收到的數據求出校驗,如果校驗碼與發下來的一樣,那么我就把相應的數據返回給上位機,不 知我的思路對嗎? 因為我這邊是從機,所以我要寫一份通信協議,讓客戶的上位機根據他的需求來寫/讀操作,如寫開機、關機 信號,讀報警信息。 有哪位大哥大姐做過相應的程序呀,能幫幫忙嗎,謝謝了!! |
---|---|
|
wangk0
人都有點過去~
級別: 工控俠客
|
雖然沒搞過,但我覺得用中斷寫會方便很多。接收到信息后中斷,把接收到的信息存到D里,通過比較D來判斷執行哪一路程序。 |
---|---|
|
雨天神
級別: 探索解密
|
我也想用中斷,但是QJ71C24N 這個模塊,有接收讀取請求的信號,當這個信號為ON時,就可以接收上位機發來的數據,轉移動D區里,然后就先判斷站號,如果是對的,再判斷命 令,如果是對的,然后再算校驗碼,校驗碼相等時,就從D里提取數據,同時返回相應的數據給上位機。 不知我的想法可行嗎,因為以前我看到過有些單片機通信程序是這樣做的,而在PLC里,寫從站的協議是否也可以這樣做,或者有更好的方法? |
---|---|
|