嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 5 元微信扫码支付:5 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
本程序通过编程口与三菱FX系列PLC进行通讯(FX-3GA-40MT测试没有问题),以读取PLC内各软元件数据……程序只做了部分软元件的处理,若要处理所有软元件可以此为基础进行相应的二次开发。本软件开源只为服务更多工控人(绝无收费陷阱)……
另压缩包中还附上三菱PLC编程口(即串口)通讯手册(影印版),若谁有其他更加清晰的文字版请分享之(留言联系或加Q群658562566分享,拜谢)。
private void AddressOnoff(int num) {
if (serialPort1.IsOpen == false)
{
MessageBox.Show("串口未打开", "提示");
return;
}
int NumAdd = int.Parse(txtAdn.Text);
string AddressOnOff = null;
string Num = "0000" NumAdd;
int intNum = int.Parse(Strings.Left(Num, Num.Length - 1))*8 int.Parse(Strings.Right(Num, 1));
switch (comboBox2.Text)
{
case "S":
AddressOnOff = (NumAdd 0).ToString("X4");//S0 置位、复位的起始地址为0000
break;
case "X":
AddressOnOff = (intNum 1024).ToString("X4");//X0 置位、复位的起始地址为0400 X序号需转化,其编号为0~7,10~17,20~27
break;
case "Y":
AddressOnOff = (intNum 1280).ToString("X4");//Y0 置位、复位的起始地址为0500 Y序号需转化,其编号为0~7,10~17,20~27
break;
case "T":
AddressOnOff = (NumAdd 1536).ToString("X4");//T0 置位、复位的起始地址为0600
break;
case "M":
AddressOnOff = (NumAdd 2048).ToString("X4");//M0 置位、复位的起始地址为0400
break;
case "C":
AddressOnOff = (NumAdd 3584).ToString("X4");//C0 置位、复位的起始地址为0E00
break;
case "MSpecial":
AddressOnOff = (NumAdd 3840).ToString("X4");//M0 置位、复位的起始地址为0400
break;
}
AddressOnOff = Strings.Right(AddressOnOff, 2) Strings.Left(AddressOnOff, 2); //高低位交换
string AddressAsc = ASC(AddressOnOff);
string sendString = "02 " num " " AddressAsc "03";
string C = SumCheck(sendString);
textBox3.Text = sendString " " C;
SendString(textBox3.Text);
}