资源简介

一、源码特点
      1、C# 写的欧姆龙PLC通讯程序源码(DEMO)可按照自己的实际要求进行修改添加,网上找了一些列子,完善的
本源码也可做通用的串口通信案例使用
二、菜单功能
      可实现功能:
      1、串口通信、通信测试、状态读取、数据的读写等基本操作
      2、PLC工作模式设定
      3、读写DM数据区
      4、置位和复位IR区,读相应位的状态
      5、校验实现:HOST LINK校验方式
三、注意事项
      1、开发环境为Visual Studio 2012使用.net 4.0开发

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace OmronPLC_DEMO
{
    public partial class Frm_Main : Form
    {
        public Frm_Main()
        {
            InitializeComponent();
        }
        #region 声明变量与定义
        string str_StationNo = ““;
        #endregion

        /// 
        /// 【按钮】打开串口
        /// 

        /// 
        /// 
        private void btn_Open_Click(object sender EventArgs e)
        {
            try
            {
                if (sPort1.IsOpen == false)
                {
                    sPort1.Open();
                    btn_ControlSport.Text = “关闭串口“;
                    btn_ConnectTest.Enabled = true;
                    btn_ReadState.Enabled = true;
                }
                else
                {
                    sPort1.Close();
                    btn_ControlSport.Text = “打开串口“;
                    btn_ConnectTest.Enabled = false;
                    btn_ReadState.Enabled = false;
                }
            }
            catch (Exception)
            {
                MessageBox.Show(“端口打开失败,请检查端口未被使用!!!“);
            }
        }

        private void btn_ConnectTest_Click(object sender EventArgs e)
        {
            string str_SendStr = ““;
            string str_ReadStr = ““;
            if (sPort1.IsOpen == false)
            {
                MessageBox.Show(“请打开串口!“);
                return;
            }
            str_SendStr = “@“ + str_StationNo + “TS“ + “LSLLHD“;
            str_SendStr = str_SendStr + FCS(str_SendStr) + “*“ + “\r“;
            str_ReadStr = CPM2A(str_ReadStr);
            if (str_ReadStr == str_SendStr)
            {
                MessageBox.Show(“与PLC通讯正常!“);
            }
            else
            {
                MessageBox.Show(“通讯异常!“ + str_ReadStr);
            }
        }

        /// 
        /// 数据返回查看
        /// 

        /// 
        /// 数据接收返回
        private string CPM2A(string inStr)
        {
            char[] SendBuffer;
            char[] ReadBuffer;
            int length = 0;
            SendBuffer = inStr.ToCharArray();
            sPort1.Write(SendBuffer 0 SendBuffer.Length);
            do
            {
                Thread.Sleep(5);
            } while (sPort1.BytesToRead < 11);                                //等待接收所有的数据
            Thread.Sleep(20);
            length = sPort1.BytesToRead;
            ReadBuffer = new char[length];
            sPort1.Read(ReadBuffer 0 length);
            string instring = new string(ReadBuffer);
            return instring;
        }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3144  2016-08-16 10:16  51Aspx源码必读.txt
     文件         187  2016-08-01 10:15  App.config
     文件       24687  2016-08-01 13:47  Frm_Main.Designer.cs
     文件       13410  2016-08-01 13:47  Frm_Main.cs
     文件       10243  2016-08-01 13:47  Frm_Main.resx
     文件      315955  2016-08-01 13:53  OMRON PLC与上位机的通信协议.docx
     文件        3820  2016-08-01 10:46  OmronPLC_DEMO.csproj
     文件         915  2016-08-16 09:47  OmronPLC_DEMO.sln
     文件       19968  2016-08-16 09:47  OmronPLC_DEMO.v11.suo
     文件         528  2016-08-01 10:21  Program.cs
     目录           0  2016-08-16 09:39  Properties\
     文件        1358  2016-08-01 10:15  Properties\AssemblyInfo.cs
     文件        2878  2016-08-01 10:15  Properties\Resources.Designer.cs
     文件        5612  2016-08-01 10:15  Properties\Resources.resx
     文件        1100  2016-08-01 10:15  Properties\Settings.Designer.cs
     文件         249  2016-08-01 10:15  Properties\Settings.settings
     目录           0  2016-08-16 09:39  bin\
     目录           0  2016-08-16 09:43  bin\Debug\
     文件       24576  2016-08-16 09:43  bin\Debug\OmronPLC_DEMO.exe
     文件         187  2016-08-01 10:15  bin\Debug\OmronPLC_DEMO.exe.config
     文件       34304  2016-08-16 09:43  bin\Debug\OmronPLC_DEMO.pdb
     文件       22984  2016-08-16 09:41  bin\Debug\OmronPLC_DEMO.vshost.exe
     文件         187  2016-08-01 10:15  bin\Debug\OmronPLC_DEMO.vshost.exe.config
     文件         490  2012-06-02 22:34  bin\Debug\OmronPLC_DEMO.vshost.exe.manifest
     目录           0  2016-08-16 10:16  bin\Release\
     文件        4945  2014-04-30 09:10  from.gif
     文件        1818  2007-07-03 10:18  high.png
     文件        1889  2007-07-03 10:18  low.png
     目录           0  2016-08-16 09:39  obj\
     目录           0  2016-08-16 09:43  obj\Debug\
     文件        1278  2016-08-01 13:33  obj\Debug\DesignTimeResolveAssemblyReferences.cache
............此处省略14个文件信息

评论

共有 条评论