资源简介
最近公司有一项目,就是采集客户设备在生产过程中的数据,并保存到SQL数据库中。硬件上采用PLC,软件使用C#编写上位机程序。本来是想利用TCP/IP协议,但后来发现公司采购的PLC属于低端产品,需要OPC服务,为了简便,所以就采用modbus协议。
代码片段和文件信息
using System;
using System.Timers;
using System.Globalization;
using System.IO;
using System.IO.Ports;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Threading;
namespace HaierDataCollecing
{
public partial class Form1 : Form
{
byte[] sendBytes = new byte[8];
byte[] clearBytes = new byte[10];
byte slaveAddress = 2;
byte[] regAddress = new byte[2];
byte[] CRC = new byte[2];
float[] para = new float[8];
byte[] tmp = new byte[4];
byte functionCode;
byte paraCount;
string Modeler;
System.Timers.Timer timer = new System.Timers.Timer();
SqlConnection conn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
string sql = ““;
public Form1()
{
InitializeComponent();
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
}
private void Form1_Load(object sender EventArgs e)
{
string[] ports = SerialPort.GetPortNames();
if (ports.Length == 0)
{
radLabelElement1.Text = “ 没有找到任何串口设备!“;
radButton1.Enabled = false;
}
else
{
radDropDownList1.DataSource = ports;
radDropDownList1.SelectedIndex = ports.Length - 1;
radLabelElement1.Text = “ Get ready to read PLC“;
}
radDropDownList2.SelectedIndex = 2;
radDropDownList3.SelectedIndex = 2;
radDropDownList4.SelectedIndex = 3;
radDropDownList5.SelectedIndex = 0;
radTextBox2.Text = “0000“;
radDropDownList6.DataSource = new int[] { 1 2 3 4 5 6 7 8 9 10 };
radDropDownList6.SelectedIndex = 8;
radDropDownList7.DataSource = new int[] { 100 200 300 400 500 800 1000 1500 2000 };
radDropDownList7.SelectedIndex = 6;
radTextBox1.Text = “d:\\PLCData\\PLCData.mdf“;
radRichTextBox1.Text = ““;
//byte[] c = new byte[] { 2 6 0 0 0 1 0 1 };
//CRC16(c ref CRC);
}
void timer_Elapsed(object sender ElapsedEventArgs e)
{
PollFunction();
}
private void PollFunction()
{
regAddress[1] = (Byte)int.Parse(radTextBox2.Text.Substring(0 2) Numberstyles.AllowHexSpecifier);
regAddress[0] = (Byte)int.Parse(radTextBox2.Text.Substring(2 2) Numberstyles.AllowHexSpecifier);
paraCount = Convert.ToByte(radDropDownList6.SelectedItem.ToString());
functionCode = 3;
try
{
DataTransfer();
}
catch (Exception e)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 20992 2015-05-22 11:48 DataCollecing\HaierDataCollecing\bin\Debug\app.publish\Application Files\HaierDataCollecing_1_0_0_0\HaierDataCollecing.exe.deploy
文件 7942 2015-05-22 11:48 DataCollecing\HaierDataCollecing\bin\Debug\app.publish\Application Files\HaierDataCollecing_1_0_0_0\HaierDataCollecing.exe.manifest
文件 5639 2015-05-22 11:48 DataCollecing\HaierDataCollecing\bin\Debug\app.publish\HaierDataCollecing.application
文件 428952 2015-05-22 11:48 DataCollecing\HaierDataCollecing\bin\Debug\app.publish\setup.exe
文件 297472 2015-05-27 15:05 DataCollecing\HaierDataCollecing\bin\Debug\HaierDataCollecing.exe
文件 38400 2015-05-27 15:03 DataCollecing\HaierDataCollecing\bin\Debug\HaierDataCollecing.pdb
文件 11600 2015-05-27 14:56 DataCollecing\HaierDataCollecing\bin\Debug\HaierDataCollecing.vshost.exe
文件 490 2014-07-09 19:40 DataCollecing\HaierDataCollecing\bin\Debug\HaierDataCollecing.vshost.exe.manifest
文件 13552 2015-05-27 15:03 DataCollecing\HaierDataCollecing\Form1.cs
文件 25991 2015-05-27 15:03 DataCollecing\HaierDataCollecing\Form1.Designer.cs
文件 211430 2015-05-27 15:03 DataCollecing\HaierDataCollecing\Form1.resx
文件 4428 2015-05-25 13:39 DataCollecing\HaierDataCollecing\HaierDataCollecing.csproj
文件 452 2015-05-22 12:04 DataCollecing\HaierDataCollecing\HaierDataCollecing.csproj.user
文件 1652 2015-05-22 11:47 DataCollecing\HaierDataCollecing\HaierDataCollecing_TemporaryKey.pfx
文件 32861 2015-05-26 08:42 DataCollecing\HaierDataCollecing\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6978 2015-05-27 15:04 DataCollecing\HaierDataCollecing\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 606 2015-05-22 13:53 DataCollecing\HaierDataCollecing\obj\x86\Debug\GenerateResource.read.1.tlog
文件 1498 2015-05-22 13:53 DataCollecing\HaierDataCollecing\obj\x86\Debug\GenerateResource.write.1.tlog
文件 5203 2015-05-27 15:03 DataCollecing\HaierDataCollecing\obj\x86\Debug\HaierDataCollecing.csproj.FileListAbsolute.txt
文件 1015 2015-05-27 15:03 DataCollecing\HaierDataCollecing\obj\x86\Debug\HaierDataCollecing.csproj.GenerateResource.Cache
文件 35453 2015-05-26 10:55 DataCollecing\HaierDataCollecing\obj\x86\Debug\HaierDataCollecing.csprojResolveAssemblyReference.cache
文件 297472 2015-05-27 15:05 DataCollecing\HaierDataCollecing\obj\x86\Debug\HaierDataCollecing.exe
文件 137172 2015-05-27 15:03 DataCollecing\HaierDataCollecing\obj\x86\Debug\HaierDataCollecing.Form1.resources
文件 38400 2015-05-27 15:03 DataCollecing\HaierDataCollecing\obj\x86\Debug\HaierDataCollecing.pdb
文件 137164 2015-05-25 23:08 DataCollecing\HaierDataCollecing\obj\x86\Debug\HaierDataCollecing.Properties.Resources.resources
文件 32480 2015-05-22 04:18 DataCollecing\HaierDataCollecing\obj\x86\Debug\ResolveAssemblyReference.cache
文件 4608 2015-05-25 13:39 DataCollecing\HaierDataCollecing\obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 510 2015-05-18 16:17 DataCollecing\HaierDataCollecing\Program.cs
文件 1448 2015-05-18 16:17 DataCollecing\HaierDataCollecing\Properties\AssemblyInfo.cs
文件 3250 2015-05-25 13:39 DataCollecing\HaierDataCollecing\Properties\Resources.Designer.cs
............此处省略31个文件信息
- 上一篇:百度翻译API,C#接口。
- 下一篇:WinForm PropertyGrid用法
相关资源
- 百度翻译API,C#接口。
- 我写的TreeGrid源代码 TreeGrid 网格树录
- C#软键盘支持中英文输入
- BarScan条形码扫描源码c#
- 使用C#.NET实现FTP文件
- C# winform 朗读输入文本
- 电子邮件email收取客户端程序,C#源代
- HIKVISION工业相机通过Halcon二次开发的
- 用C#编程调用Visio的COM接口,获取Vis
- C#打印--打印商品出库单(亲测可用)
- C#实现滚动字幕完整源码(亲测可用)
- C# SqlHelper类
- 测绘编程技术——C#控制点展绘
- C#实现计算器
- C# 实现RDP远程桌面连接配套项目源码
- winform登陆界面展示
- C#TabControl控件实现窗体的整合与切换
- C#2048源码
- C#开发大全提高卷ISO镜像
- c#日期推算
- C#调用OpenCV开发简易版美图工具
- C#中隐式运行CMD命令行窗口的方法
- C#使用post发送和接收数据的方法
- C#程序优化-有效减少CPU占用率
- c# asp.net webform web页面打印可以控制需
- c#无句柄UI 思路
- AE二次开发C#程序
- 根据汉字自动生成助记码
- c#win7资源管理器
- Excel 中创建多个保存的Sheet
评论
共有 条评论