sunzengli
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 701 個
工控威望: 1082 點
下載積分: 1586 分
在線時間: 223(小時)
注冊時間: 2021-07-09
最后登錄: 2024-12-24
查看sunzengli的 主題 / 回貼
樓主  發(fā)表于: 23天前
我現在有6個遠程站,相隔幾百米,走modbus rtu通訊,2個站共用一個電柜,變頻器控制水泵,一個變頻器一個站對應一個水泵,一備一用,備用的在不使用時,電源是關閉的。這樣在輪詢時就會產生問題,主站PLC這邊并不知道遠程站是哪個泵在啟用,由于有變頻器沒有上電,所以是通訊不上的,導致輪詢時間非常長,我現在不知道用什么辦法能排除這種影響,只有一根485通訊線和遠程電柜交互數據,想不到好的處理辦法。
請各位指點一二,謝謝。
皮五
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 634 個
工控威望: 2305 點
下載積分: 2337 分
在線時間: 360(小時)
注冊時間: 2007-07-14
最后登錄: 2024-12-24
查看皮五的 主題 / 回貼
1樓  發(fā)表于: 23天前
想辦法讓主站知道幾個從站是開啟狀態(tài),幾個從站是關閉
croxie
級別: 正式會員
精華主題: 0
發(fā)帖數量: 10 個
工控威望: 74 點
下載積分: 161 分
在線時間: 180(小時)
注冊時間: 2021-03-12
最后登錄: 2024-12-24
查看croxie的 主題 / 回貼
2樓  發(fā)表于: 23天前
需要自己寫輪詢程序,當主、備有一個響應時就跳過這個站點,當兩個都沒響應時報警。
apei2014
工控的世界,我不懂
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 1195 個
工控威望: 1840 點
下載積分: 78332 分
在線時間: 518(小時)
注冊時間: 2016-08-15
最后登錄: 2024-12-24
查看apei2014的 主題 / 回貼
3樓  發(fā)表于: 23天前
弄兩個開關,哪個要通訊,就把對應開關打開
東隅已逝,桑榆非晚。
sunzengli
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 701 個
工控威望: 1082 點
下載積分: 1586 分
在線時間: 223(小時)
注冊時間: 2021-07-09
最后登錄: 2024-12-24
查看sunzengli的 主題 / 回貼
4樓  發(fā)表于: 23天前
引用
引用第1樓皮五于2024-12-02 08:23發(fā)表的  :
想辦法讓主站知道幾個從站是開啟狀態(tài),幾個從站是關閉

就只沒辦法知道啊,什么辦法能知道呢?再拉一根線?好幾百米,很麻煩。
不小心遇見你
自動項目、PLC、視覺、通訊等工控軟件開發(fā)QQ3515716
級別: 工控俠客

精華主題: 3 篇
發(fā)帖數量: 2051 個
工控威望: 2970 點
下載積分: 25201 分
在線時間: 1442(小時)
注冊時間: 2014-01-05
最后登錄: 2024-12-24
查看不小心遇見你的 主題 / 回貼
5樓  發(fā)表于: 23天前
一看你就是沒有經驗
盡量考慮全面一些。這些都是我根據你的描述做出的自己理解,若有出入,請忽略

1、首先輪詢時如果通訊失敗有錯誤代碼反饋,一般無法聯系主機或者主句無響應,只能認為離線,注意這里的離線是兩種我們歸為一種,沒電離線和斷線離線。注意這里是根據錯誤代碼判斷

2、離線后,做一個標志不再訪問該該站,因為你是2個站,一個bool即可,bool設置為ture,然后訪問2號站,如果2號站訪問成功就訪問,訪問不成功,就把bool設置為false,接著訪問1站。

3、注意這里有2個問題:
a、否訪問成功時,還需判斷運行狀態(tài),最好有能判斷運行狀態(tài)的,那個bool和這個運行狀態(tài)也要關聯,只有通訊OK且設備運行時才繼續(xù)訪問,否則來回的切換。比如1和2號站都訪問成功且沒有運行,這時候就報設備未運行。
b、兩個都訪問不成功時,敲黑板:我說的是訪問不成功時(就不存在運行狀態(tài)的判斷了),短時間內輪序次數超過2次即可報異常,比如設備均為運行
項目、視覺、通訊QQ3515716
sunzengli
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 701 個
工控威望: 1082 點
下載積分: 1586 分
在線時間: 223(小時)
注冊時間: 2021-07-09
最后登錄: 2024-12-24
查看sunzengli的 主題 / 回貼
6樓  發(fā)表于: 23天前
引用
引用第3樓apei2014于2024-12-02 08:48發(fā)表的  :
弄兩個開關,哪個要通訊,就把對應開關打開

對于操作工來說,這很難,一個是距離很遠,判斷要過去看,另外一個,對于操作工來說,哪個站要斷開他并不一定清楚地知道。
工控小王
級別: 正式會員
精華主題: 0
發(fā)帖數量: 32 個
工控威望: 72 點
下載積分: 1816 分
在線時間: 15(小時)
注冊時間: 2024-10-16
最后登錄: 2024-12-20
查看工控小王的 主題 / 回貼
7樓  發(fā)表于: 23天前
觸摸屏中增加一備一用相對應的功能,程序中在輪詢條件里增加備用時直接跳到下一個輪詢。
sunzengli
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 701 個
工控威望: 1082 點
下載積分: 1586 分
在線時間: 223(小時)
注冊時間: 2021-07-09
最后登錄: 2024-12-24
查看sunzengli的 主題 / 回貼
8樓  發(fā)表于: 23天前
引用
引用第5樓不小心遇見你于2024-12-02 08:58發(fā)表的  :
一看你就是沒有經驗
盡量考慮全面一些。這些都是我根據你的描述做出的自己理解,若有出入,請忽略

1、首先輪詢時如果通訊失敗有錯誤代碼反饋,一般無法聯系主機或者主句無響應,只能認為離線,注意這里的離線是兩種我們歸為一種,沒電離線和斷線離線。注意這里是根據錯誤代碼判斷

.......

沒電離線和斷線離線是兩種代碼?你確定嗎?
本帖最近評分記錄:
  • 下載積分:+1(gaoyingchun)
    gxtmdb82164
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數量: 770 個
    工控威望: 1148 點
    下載積分: 399 分
    在線時間: 605(小時)
    注冊時間: 2019-09-22
    最后登錄: 2024-12-24
    查看gxtmdb82164的 主題 / 回貼
    9樓  發(fā)表于: 23天前
    你這里本質上是控制電源和動力電源沒分開的問題,但是你線都已經拉了,這個事情只能迂回解決了~

    標準解決方案中,從站的通信模塊或者從站模塊的供電屬于控制電源,要么直接從主站和通信線一起拉出來,要么在從站和動力電源分開,動力電源是可以下電的,而且下電以后是有反饋的。如果按這個方案,你看你的問題不就解決了~

    但是木已成舟了,現在還有一些迂回的方案可以解決。
    1、最簡單,自己寫輪詢,縮短等待時間,這個應該是有效果的,因為你從站并不多。而且這里有個小技巧就是,確認不在線的總站可以用更低的頻率去connect,比如2s、5s甚至10s,這樣可以相當大程度上實現通信的自動恢復,而且不影響正常的周期性數據讀寫。
    2、在每個從站加一個IO模塊檢測變頻器在線情況,然后這個模塊要保證不下電的,也就是說這幾個IO模塊始終在線,讀寫變頻器前先讀IO模塊,看看哪個在線哪個不在線。


    ps:都2024年了,推薦所有需要拉幾百米線的場合全部從485換到以太網(家用以太網標準是150M,請確認使用了工規(guī)以太網設備),你這個情況如果是以太網且不說網絡容量沒有限制,單是供電這個問題POE加上就原地解決了。而且即便是終端設備是RTU,現在以太網轉RTU也便宜的要死,很多智能型網關模塊都可以替代PLC做數據輪詢,你這個場景下直接從網關就能讀到設備是否在線,如果在線,數據也都給你準備好了,更簡單~
    喊聲靚仔
    級別: 正式會員
    精華主題: 0
    發(fā)帖數量: 13 個
    工控威望: 66 點
    下載積分: 134 分
    在線時間: 48(小時)
    注冊時間: 2021-05-14
    最后登錄: 2024-12-24
    查看喊聲靚仔的 主題 / 回貼
    10樓  發(fā)表于: 23天前
    聲明2個變量,從站1超時,從站2超時。判斷從站的超時次數把這2個變量置True,然后在你的輪詢程序里面加上這2個條件的判斷,如果從站1超時為True,流程步就跳過從站1的數據收發(fā)就好了
    gsw2022
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數量: 391 個
    工控威望: 1210 點
    下載積分: 527 分
    在線時間: 262(小時)
    注冊時間: 2022-01-24
    最后登錄: 2024-12-24
    查看gsw2022的 主題 / 回貼
    11樓  發(fā)表于: 23天前
    學習了