c#上位機與三菱PLC(FX3U)串口通信

項目中會常常用到上位機與PLC之間的串口通訊,本文介紹一下C#如何編寫上位機代碼html

與三菱FX3U進行通信編程

1. 第一種方法是本身寫代碼實現,主要代碼以下:dom

//對PLC的Y7進行置1
byte[] Y007_ON = { 0x02, 0x37, 0x30, 0x37, 0x30, 0x35, 0x03, 0x30, 0x36 }; //選擇串口參數
SerialPort sp = new SerialPort("COM5", 9600, Parity.Even, 7); //打開串口
sp.Open(); //寫入數據
sp.Write(Y007_ON, 0, Y007_ON.Length); //關閉串口
sp.Close();

  該方法的缺點在於咱們首先要熟悉三菱PLC的通信協議,而後根據通訊規程來編寫通訊代碼工具

  舉例說就是要對三菱PLC的Y007口進行操做,咱們須要知道要對三菱PLC發送什麼參數,這網站

  裏能夠參考百度文庫的一篇文章:this

  https://wenku.baidu.com/view/157632dad05abe23482fb4daa58da0116c171fa8.htmlspa

2.使用MX COMPONENT軟件code

  2.1 MX Component 是一個工具,經過使用該工具,能夠在無需具有通訊協議及模塊知orm

    識的情況下實現從計算機至三菱PLC的通訊。htm

    MX Component的安裝使用教程網上有不少,順便找一下就能夠找到合適的,這樣

    要說明的是MX Component工具,使用手冊和編程手冊均可以在三菱的網站上下載。

    工具下載:

    https://cn.mitsubishielectric.com/fa/zh/download/dwn_idx_softwareDetail.asp?sid=45

    手冊下載:

    https://cn.mitsubishielectric.com/fa/zh/download/dwn_idx_manual.asp

    下載安裝以後sample路徑(win10,默認安裝):C:\MELSEC\Act\Samples

  2.2 介紹安裝配置好MX Component以後C#使用ActUtlType控件進行串口通訊

    首先要引用,這兩個DLL在例程中能夠找到

    

//Logical Station Number的值和在MX Component中設置同樣
int logicalStationNumber = 0; //添加axActUtlType對象
AxActUtlTypeLib.AxActUtlType axActUtlType = new AxActUtlTypeLib.AxActUtlType(); //不加這三句會報 //引起類型爲「System.Windows.Forms.AxHost+InvalidActiveXStateException」的異常
((System.ComponentModel.ISupportInitialize)(axActUtlType)).BeginInit(); this.Controls.Add(axActUtlType); ((System.ComponentModel.ISupportInitialize)(axActUtlType)).EndInit(); //open
axActUtlType.ActLogicalStationNumber = logicalStationNumber; axActUtlType.ActPassword = ""; axActUtlType.Open(); //Y7寫入1
int wirteData = 1; axActUtlType.WriteDeviceRandom("Y7", 1, ref wirteData); //D0寫入100
int wirteData1 = 100; axActUtlType.WriteDeviceRandom("D0", 1, ref wirteData1); //讀D0數據
int readData; axActUtlType.ReadDeviceRandom("D0", 1, ref readData); //close
axActUtlType.Close();

    這裏只是簡單介紹,更深刻的內容仍是去看編程手冊和例程。

相關文章
相關標籤/搜索