三菱

首页 » 常识 » 预防 » 三菱MXComonentV50与C应用
TUhjnbcbe - 2025/7/16 12:44:00

今天我们讲一下C#利用MX控制,读取和写入PLC的单个寄存器地址

一、在WInform上建立两个按钮,分别命名为读取和写入,添加相应的响应函数

再添加两个对话框,用来填写寄存器名称和读取和写入的数值,界面如下:

两个按钮的响应函数,还未添加代码

        privatevoidbutton2_Click(objectsender,EventArgse){}privatevoidbutton3_Click(objectsender,EventArgse){}

二、MX函数相关SetDevice和GetDevice

这两个函数分别对应写入单个寄存器数值和读取单个寄存器地址,对应的软元件可以为中间继电器M0、单字D0、位组合K4M0、K8M0等,具体PLC可能会有差异,但是用法是一样的。虽然手册中写可以用LTN0读取双字,但实际测试并不能读到,双字的读取以后再介绍。

注意:函数正常完成时返回值为0,非正常完成时返回值为非0

接下来我们逐一测试

三、读取PLC寄存器的测试(GetDevice)

在写入按钮响应程序中,增加代码,首先读取Text对话框中的文本数值,然后通过读取函数进行读取,代码如下:

//利用GetDevice函数读取PLC的值privatevoidbutton2_Click(objectsender,EventArgse){stringstr=textBox1.Text;//获取文本值intiRet;//返回值try{if(button1.Text=="Close")//判断PLC已连接{QPLC.GetDevice(str,outiRet);//读取textBox2.Text=Convert.ToString(iRet);//显示}}catch(Exception){turn;};}

四、写入PLC寄存器的测试(SetDevice)

写入和读取基本差异不大,首先读取TextBox1的寄存器地址和TextBox2的值,然后执行SetDevice函数进行写入代码如下:

//利用SetDevice写入PLC寄存器值privatevoidbutton3_Click(objectsender,EventArgse){stringstr=textBox1.Text;//获取textBox1文本值intValue=Convert.ToInt32(textBox2.Text);//textBox2文本转换为int型try{if(button1.Text=="Close")//判断PLC已连接{QPLC.SetDevice(str,Value);//写入}}catch(Exception){turn;};}

1
查看完整版本: 三菱MXComonentV50与C应用