netMarketing类库作者是刘小勇 (hackpig, 很想停止)。
作者的联系方式,QQ:496103864, 微信: abc496103864
本类库的官方说明页: http://www.skcircle.com/?id=202
这个类库是作者工作中使用的私人类库,本类库适用于自动化行业的软件工程师使用。
如果大家在使用中有任何疑问和建议欢迎联系作者, 或者在页面留言.
目录
(一) 引用类库的方式
(二) 类库功能的说明档
硬件控制类
通讯相关
自动化控制l软件辅助类
用户定义控件
编程语言扩展类库
数据库
视觉库
接口
(三) 做工程项目时的常用类
运动控制
IO功能
配置文件
视觉窗口
视觉算法
log记录
plc内存读写
扫码枪
测试仪表
数据库读写
生产数据读写
控件及操作类
硬件通讯
继承类(软件逻辑用)
图形学、数学
(四) 类库的相关教程
(一) 引用类库的方式
本类库的环境为.net framework 4.5, 编译目标平台为X64, 本类库完全由C#开发。
它的安装方式有三种, 介绍如下:
(1) 通过VS的包管理器安装
下面的介绍以VS2017的菜单功能为例讲解, 其它的VS版本也是大同小异.
选择"浏览", 输入netMarketing, 勾选要应用的项目, 点击安装即可.
安装完成后, 你会看到"解决方案资源管理器"中多出了netMarketing类库及相关类库的引用.
(2) 通过VS的包管理器控制台安装
你可以直接使用VS的包管理器直接输入下面的指令,就可以把类库安装到你的工程中去。
Install-Package netMarketing -Version 1.2.5
安装成功后, 就可以看到"解决方案资源管理器"中多出了netMarketing类库及相关类库的引用.
(3) 去网站下载,然后手工添加引用
或者你也可以访问: https://www.nuget.org/packages/netMarketing/
手工下载类库, 然后在工程中引用.
最后,一定注意,你的工程目标平台改为X64进行编译,否则可能会出现运行期的错误。(某些功能会出现,比如视觉功能)
类库的更新档见下面的贴子:
netMarketing类库版本更新记录
(二) 类库功能的说明档
类库含主体文件三个, 分别是:
netMarketing类: 主要是工作逻辑,算法相关的代码, 含部分逻辑相关的控件 UserUI类: 主要是与界面相关控件库 sharClass类: 它提取了使用频度高的一部分代码, 为上面两个类库共享使用.
netMarketing类库功能概要(会随着开发进度持续更新):
硬件控制类
IOC640, 雷塞640IO卡类
以太网IO控制器EIO-0i08WP
DMC2210, 雷塞2轴运动控制卡类固高运动控制卡类
OPT(欧普特)光源控制器 类
H8200压力传感器类
SR710Sanner(基恩仕)扫码器类Dit34461A测试仪类
BT3562测试仪类
A34461测试仪类OmronPlc(欧姆龙PLC, CP1H,NJ系列) 通讯类
OmronPlc (基于欧姆龙RS232 Host Link Fins协议通讯类)OmronPlcNet (OmronPlc基于tcp的Fins通讯类,可用NJ系列,CP1H系列的欧姆龙PLC)
Siemens(西门子PLC 1200, 1500, 1515系列) 通讯类
SiemensProtocol (西门子PLC通讯类,支持S7 300, 1200, 1500系列的PLC)
RS232/485通讯类
serialHelper类 (RS232,RS485通讯类)
通讯相关
Modbus通讯类
SocketHelper类 (Tcp/ip通讯辅助类,异步通讯方式,封装了TcpClient,TcpServer)
SocketClient类 (采用套接字方式,用于连接tcp client)
SocketComm类 (socket TcpClient,TcpServer,如果用到TcpServer则推荐使用本类)
ByteTransformBase (plc内存数据转换类的基础,提供了一些基础的方法实现)
自动化控制l软件辅助类
ioHelper (io操作类,管理输入输出IO对象、气缸对象、真空对象)
dynMenuHelper (动态菜单类,支持功能有:多级菜单、勾选项、隐藏和变灰菜单项、菜单项定义图标、菜单项点击调用资源)
dockingHelper (方便使用Docking的辅助类. Docking提供了窗体停靠的功能)
Settings (配置文件类)
用户定义控件
ColorfulButton (多彩按钮)IOlight (IO灯)
inputIOGroup,outputIOGroup (输入输出IO组,用于自动生成输入输出IO按钮对象)listboxEx (扩展ListBox)
listViewEx (扩展ListView)dataGridViewEx (扩展dataGridView)
uTextBox (扩展TextBox)
InputBox (输入对话框)
halconWin (多视图Halcon窗体)
LBOPTControl (OPT光源控制器组件)
编程语言扩展类库
TypeHelper (Type辅助类)
ThreadLock (线程锁类)
threadHelper (线程类)
asynOperation (异步线程类)
Serialize (对象序列化类)
randomHelper (随机数据生成,数据可以是整数,浮点数,GUID,单词,或者对现有集合进行随机重排)
listHelper (List列表辅助类)
UserPermission (为类或者Form提供用户权限检查机制功能)
enumHelper (枚举对象辅助类)
dataSetHelper (管理内存数据库DataSet)
csvHelper (CSV文件类)
reflectHelper (反射辅助类)
httpClass (http协议辅助类,提供http的post,get方法,以及相关cookie的处理)
imageHelper (2D图形处理类)
binHelper (易语言字节集处理类,相当于处理byte[]数据的类)
enumHelper (枚举对象处理类)
stringHelper (字符串处理类)
regexHelper (正则表达式辅助类)
ConvertHelper (数据类型转换辅助类)
SoftZipped (压缩解压数据字节的类)
statisticsHelper (统计学算法辅助类)
propertyGridHelper (可以动态设定propertyGrid控件的属性)
uiHelper (跨线程访问界面上的控件功能)
SecurityHelper (安全加密算法辅助类,封装加密算法 MD5、SHA、HMAC、DES、RSA)扩展方法类群
数据库
EntityHelper类和SQLServerClient类 (Sql Server数据库表实体类操作的类)
mdbFun (Access数据库处理类,只适用于扩展名为.mdb的数据库)
接口
IByteTransform 数据转换类的基础,提供了一些基础的方法实现.
(三)做工程项目时的常用类
勇哥按常平时做自动化设备项目时常见的类做一些归纳,这些类都是经过实现项目检验过的,可以放心使用:
(1)运动控制
命名空间:netMarketing.automation.hardware.MotonCard.dmc2210
雷塞DMC2210运动控制卡操作类
命名空间:netMarketing.automation.hardware.MotonCard.DMC2410
雷塞DMC2410运动控制卡操作类
命名空间:netMarketing.automation.hardware.MotonCard.DMC3800
雷塞DMC3800运动控制卡操作类
命名空间:netMarketing.automation.hardware.MotonCard.guGao
固高运动控制卡操作类
(2)机器人相关
命名空间:netMarketing.automation.Robot.Epson
Epson机器人远程控制模块
命名空间:netMarketing.automation.Robot.Epson2
另一种Epson机器人远程控制模块,继承自BaseRobot类。
命名空间:netMarketing.automation.Robot.baseRobot
机器人类的基类,其它未知的机器人的类都可以由基类创造出来。
(3)IO功能
(4)配置文件
该类可以保存常见控件(包括PropertyGrid)内容到属性变量,或者载入属性变量值到控件上去。
需要多做的事就是面板上控件的名字必须要加上指定前缀:txt, cbb,chk,以识别TextBox、ComboBox、CheckBox
这个类使用的时候只需要做两件事:
(1)创建一个类,用来声明要保存配置文件的项目
(2)在你的调试面板中放入一个propertyGrid控件,用来显示与编辑参数
然后你就可以new一个本类的实例,调用它的load, save方法读写配置文件了。
这个类使用序列化方式保存与读取配置文件,这个类可以被继承。这个类有点类似Config类,它还提供了两个方法用于序列化读写指定的对象。
支持同步读写操作INI文件
命名空间:netMarketing.diskFile
(5)视觉窗口
multiVisionWin控件
(6)视觉算法
(7)log记录
命名空间:sharClass.Logger
log记录类
(8)plc内存读写
命名空间:netMarketing.automation.plc.OmronPlc
基于欧姆龙PLC RS232 Host Link Fins协议通讯类
命名空间:netMarketing.automation.plc.OmronPlcNet
OmronPlc基于tcp的Fins读写类。可用NJ系列,CP1H系列的欧姆龙PLC
命名空间:netMarketing.automation.plc.Omron.FinsLibrary
FinsSocket支持的欧姆龙PLC包括CP系列, Nj系列, Nx系列的欧姆PLC。可以在监视模式或者运行模下读写PLC的内存
命名空间:PLCLibrary.SiemensProtocol
这个类经测试可以支持S7 300, S7 1200, S7 1500等西门子PLC的内存读写
(9)扫码枪
命名空间:netMarketing.automation.scanGunAndMeter
SR1000是基恩士的一款扫码枪,可以使用串口或者网口。
这个型号可以同时扫描多个条码。
命名空间:netMarketing.automation.scanGunAndMeter
SR600/700是基恩士的一款扫码枪,可以使用串口。
(10)测试仪表
命名空间:netMarketing.automation.scanGunAndMeter
A34461表通常用于测量边电压。
使用网线通讯,其IP在表上设置,最后一位设置2位数。网络端口号为默认的5025且不能设置
命名空间:netMarketing.automation.scanGunAndMeter
BT3562表通常用于测量电压与内阻。
这个表使用串口。
命名空间:netMarketing.automation.scanGunAndMeter
这个表使用串口。
IT8511表通常用于测量电池的直流内阻。
命名空间:
HT300普瑞逊电子秤操作类
(11)数据库读写
EntityHelper类和SQLServerClient类
命名空间:netMarketing.database
Sql Server数据库表实体类操作的类
命名空间:netMarketing.database.mdbFun
Access数据库处理类,只适用于扩展名为.mdb的数据库,不适合新版的Access数据库
(12)生产数据读写
(13)控件及操作类
方便操作dataGridView控件(包括dataGridViewEx控件)的类
(14)硬件通讯类
命名空间:netMarketing.Net.NetSocket.SocketClient
利用Socket套接字,并且传输层采用Tcp协议实现的一个Tcp客户端功能类,它是特点是一个同步读写的TCP客户端。
命名空间:
netMarketing.Net.SocketServerAndClient.TcpServer
netMarketing.Net.SocketServerAndClient.SocketClient
netMarketing.Net.SocketServerAndClient.RunLog
TcpServer为tcp服务端,SocketClient为tcp服务端
Runlog控件用于监视客户端发来的消息
一个可以继承的tcp客户端
命名空间:netMarketing.Net
一个可以继承的tcp服务端
命名空间:netMarketing.Net
串口辅助类(RS232/485),可以被继承。
命名空间:netMarketing.automation.communication
串口基本类,提供串口的初始化,配置,读取发送等方法.
命名空间:netMarketing.automation.communication
(15)继承类(软件逻辑用)
(16)图形学、数学、统计学、控制图
命名空间:netMarketing.graphics
数学矩阵类 重载了 +- */ += == -= /= *= 运算符
Vecter是数学上的平面向量功能类。重载了常见+-*/等运算符。
Vector3是空间向量类
命名空间:netMarketing.Algorithm.Statistics
统计学算法处理类
controlChartHelper类
命名空间:netMarketing.Algorithm.ControlChart
控制图算法,xbarS,xbarR,EWMA
(四)类库的相关教程
利用netMarketing类库组建MDI多文档窗口界面
解决netMarketing类库dataSetHelper类在多线程下的使用问题
模拟组态软件:用plc写逻辑,PC端做为组态显示,交通灯程序
拖入netMarketing类库控件时,报:Visual Studio 报错:未能加载工具箱项,将从项目除
[netMarketing类库] userUI的控件:扩展listbox, 多彩按钮,扩展TextBox
[netMarketing类库] userUI的控件:应用程序容器,信号灯, 圆形多彩按钮,IO输入组合控件, IO灯
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

