基本信息
源码名称:C#与三菱PLC通讯源码 串口通讯
源码大小:3.54M
文件格式:.zip
开发语言:C#
更新时间:2019-02-11
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 5 元 
   源码介绍

本程序通过编程口与三菱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);

        }