台灣最大程式設計社群網站
線上人數
1399
 
會員總數:245902
討論主題:189495
歡迎您免費加入會員
討論區列表 >> C# >> 脫離三菱的MX Component
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
脫離三菱的MX Component
價值 : 20 QP  點閱數:1557 回應數:4
樓主

momobear
門外漢
0 6
151 18
發送站內信

長期以來,我都用三菱的MX Component連接PLC

但是MX有個缺點,就是每裝一台PLC就要裝一次MX

要還設定站號對應IP等等


現在想要自己寫,抓到相關程式執行PLC沒動作

下載的地點在這
https://www.codeproject.com/Articles/616262/PLC-Communication-Using-NET

我在想,是不是內部的"500000FF03FF000018000A04010000D*0095000001"有問題

程式裡面都有解說,但我也不知道要怎麼改

我的設備是FX5U

謝謝大家

搜尋相關Tags的文章: [ PLC ] , [ MX Component ] ,
本篇文章發表於2019-06-17 15:50
1樓
作者回應

momobear
檢舉此回應
補一下上述字串的說明

//String OutAddress = "0001";
//cmd = "";
//cmd = cmd + "5000";// sub HEAD (NOT)
//cmd = cmd + "00";// network number (NOT)
//cmd = cmd + "FF";//PLC NUMBER
//cmd = cmd + "03FF";// DEMAND OBJECT MUDULE I/O NUMBER
//cmd = cmd + "00";// DEMAND OBJECT MUDULE DEVICE NUMBER
//cmd = cmd + "001C";// Length of demand data
//cmd = cmd + "000A";// CPU inspector data
//cmd = cmd + "0401";// Read command
//cmd = cmd + "0000";// Sub command
//cmd = cmd + "D*";// device code
//cmd = cmd + "009500"; //adBase
//cmd = cmd + OutAddress; //BASE ADDRESS
winsock1.Send(cmd);

我也可以用Socket丟出去,重點是都沒回應阿

謝謝大家
本篇文章回覆於2019-06-18 08:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Derek
檢舉此回應
是要讀寫資料嗎?
我是用TOP Server, 可同時連多台, 跨設備Machine to Machine, 也存到資料庫.

在這裡,
http://www.oneyear.url.tw/index.php/component/content/article/11-for-slideshow/6-for-slideshow-opc-server?Itemid=101
本篇文章回覆於2020-06-14 23:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

momobear
檢舉此回應
感謝您的回答

其實後來我學會的modbus後,才知道modbus才是與PLC溝通的主要協定
就可以使用不同站號去分別取值

謝謝您唷
本篇文章回覆於2020-06-15 08:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

Derek
檢舉此回應
對呀! 很多都是Modbus為基礎.
我之前連發電機的人機, 也是走TOP Server的Modbus RTU, 一次連3台.

本篇文章回覆於2020-06-15 15:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.