netMarketing类库: 类库说明

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版本也是大同小异.

image.png

image.png

选择"浏览", 输入netMarketing, 勾选要应用的项目, 点击安装即可.

image.png

安装完成后, 你会看到"解决方案资源管理器"中多出了netMarketing类库及相关类库的引用.

image.png


(2) 通过VS的包管理器控制台安装 

你可以直接使用VS的包管理器直接输入下面的指令,就可以把类库安装到你的工程中去。

Install-Package netMarketing -Version 1.2.5

image.png

安装成功后, 就可以看到"解决方案资源管理器"中多出了netMarketing类库及相关类库的引用.


(3) 去网站下载,然后手工添加引用

或者你也可以访问: https://www.nuget.org/packages/netMarketing/

手工下载类库, 然后在工程中引用.

image.png

最后,一定注意,你的工程目标平台改为X64进行编译,否则可能会出现运行期的错误。(某些功能会出现,比如视觉功能)

image.png


类库的更新档见下面的贴子:

netMarketing类库版本更新记录


(二) 类库功能的说明档


  类库含主体文件三个, 分别是:

netMarketing类:     主要是工作逻辑,算法相关的代码, 含部分逻辑相关的控件

UserUI类:           主要是与界面相关控件库

sharClass类:        它提取了使用频度高的一部分代码, 为上面两个类库共享使用.


  

netMarketing类库功能概要(会随着开发进度持续更新):



        Siemens(西门子PLC 1200, 1500, 1515系列) 通讯类

            SiemensProtocol        (西门子PLC通讯类,支持S7 300, 1200, 1500系列的PLC)

            
        RS232/485通讯类
                     serialHelper类        (RS232,RS485通讯类)


       ByteTransformBase      (plc内存数据转换类的基础,提供了一些基础的方法实现)  



          AppContainer              (嵌入第三方应用程序的容器)


          EntityHelper类和SQLServerClient类                    (Sql Server数据库表实体类操作的类)

          mdbFun                                   (Access数据库处理类,只适用于扩展名为.mdb的数据库)



  •  接口

         IByteTransform                    数据转换类的基础,提供了一些基础的方法实现.


(三)做工程项目时的常用类

勇哥按常平时做自动化设备项目时常见的类做一些归纳,这些类都是经过实现项目检验过的,可以放心使用:


(1)运动控制


    

    dmc2210类   

    命名空间:netMarketing.automation.hardware.MotonCard.dmc2210

    雷塞DMC2210运动控制卡操作类

    

    DMC2410类  

    命名空间:netMarketing.automation.hardware.MotonCard.DMC2410

    雷塞DMC2410运动控制卡操作类

    

    DMC3800类 

    命名空间:netMarketing.automation.hardware.MotonCard.DMC3800

    雷塞DMC3800运动控制卡操作类

    

    guGao类  

    命名空间:netMarketing.automation.hardware.MotonCard.guGao

    固高运动控制卡操作类


(2)机器人相关


    EpsonRobot类    

    命名空间:netMarketing.automation.Robot.Epson

    Epson机器人远程控制模块


    EpsonRobot2类

    命名空间:netMarketing.automation.Robot.Epson2

    另一种Epson机器人远程控制模块,继承自BaseRobot类。

    

    BaseRobot类

    命名空间:netMarketing.automation.Robot.baseRobot

    机器人类的基类,其它未知的机器人的类都可以由基类创造出来。



(3)IO功能



(4)配置文件


    Settings类

    该类可以保存常见控件(包括PropertyGrid)内容到属性变量,或者载入属性变量值到控件上去。
    需要多做的事就是面板上控件的名字必须要加上指定前缀:txt, cbb,chk,以识别TextBox、ComboBox、CheckBox

    

    Config类

    这个类使用的时候只需要做两件事:

    (1)创建一个类,用来声明要保存配置文件的项目
    (2)在你的调试面板中放入一个propertyGrid控件,用来显示与编辑参数
    然后你就可以new一个本类的实例,调用它的load, save方法读写配置文件了。


    Serialize类

    这个类使用序列化方式保存与读取配置文件,这个类可以被继承。这个类有点类似Config类,它还提供了两个方法用于序列化读写指定的对象。


    Profile类

    支持同步读写操作INI文件

    命名空间:netMarketing.diskFile

    

(5)视觉窗口


    multiVisionWin控件

    


(6)视觉算法



(7)log记录


    Logger类   

    命名空间:sharClass.Logger

    log记录类




(8)plc内存读写


    OmronPlc类

    命名空间:netMarketing.automation.plc.OmronPlc

    基于欧姆龙PLC RS232 Host Link Fins协议通讯类

    

    OmronPlc类

    命名空间:netMarketing.automation.plc.OmronPlcNet

    OmronPlc基于tcp的Fins读写类。可用NJ系列,CP1H系列的欧姆龙PLC

    

    FinsSocket类

    命名空间:netMarketing.automation.plc.Omron.FinsLibrary

    FinsSocket支持的欧姆龙PLC包括CP系列, Nj系列, Nx系列的欧姆PLC。可以在监视模式或者运行模下读写PLC的内存


    SiemensProtocol类

    命名空间:PLCLibrary.SiemensProtocol

    这个类经测试可以支持S7 300, S7 1200, S7 1500等西门子PLC的内存读写



(9)扫码枪


    SR1000类

    命名空间:netMarketing.automation.scanGunAndMeter

    SR1000是基恩士的一款扫码枪,可以使用串口或者网口。

    这个型号可以同时扫描多个条码。

    

    SR710类

    命名空间:netMarketing.automation.scanGunAndMeter

    SR600/700是基恩士的一款扫码枪,可以使用串口。



(10)测试仪表


    A34461类

    命名空间:netMarketing.automation.scanGunAndMeter
    A34461表通常用于测量边电压。
    使用网线通讯,其IP在表上设置,最后一位设置2位数。网络端口号为默认的5025且不能设置

    

    BT3562类

    命名空间:netMarketing.automation.scanGunAndMeter

    BT3562表通常用于测量电压与内阻。

    这个表使用串口。

    

    IT8511类

    命名空间:netMarketing.automation.scanGunAndMeter


    这个表使用串口。

    IT8511表通常用于测量电池的直流内阻。


    HTN类

    命名空间:

    HT300普瑞逊电子秤操作类


(11)数据库读写


    EntityHelper类和SQLServerClient类   

    命名空间:netMarketing.database

    Sql Server数据库表实体类操作的类

    

    mdbFun类

    命名空间:netMarketing.database.mdbFun

    Access数据库处理类,只适用于扩展名为.mdb的数据库,不适合新版的Access数据库


(12)生产数据读写



(13)控件及操作类


    dataGridViewHelper类

    方便操作dataGridView控件(包括dataGridViewEx控件)的类

    image.png


(14)硬件通讯类

    SocketClient类

    命名空间:netMarketing.Net.NetSocket.SocketClient

    利用Socket套接字,并且传输层采用Tcp协议实现的一个Tcp客户端功能类,它是特点是一个同步读写的TCP客户端。

    

    TcpServer和SocketClient类

    命名空间:

    netMarketing.Net.SocketServerAndClient.TcpServer

    netMarketing.Net.SocketServerAndClient.SocketClient

    netMarketing.Net.SocketServerAndClient.RunLog

    TcpServer为tcp服务端,SocketClient为tcp服务端

    Runlog控件用于监视客户端发来的消息


    Client类

    一个可以继承的tcp客户端

    命名空间:netMarketing.Net

    

    Server类

    一个可以继承的tcp服务端

    命名空间:netMarketing.Net


    serialHelper类

    串口辅助类(RS232/485),可以被继承。

    命名空间:netMarketing.automation.communication

    

    BaseSerialPort类

    串口基本类,提供串口的初始化,配置,读取发送等方法.

    命名空间:netMarketing.automation.communication


(15)继承类(软件逻辑用)

    


(16)图形学、数学、统计学、控制图


    Matrix类

    命名空间:netMarketing.graphics

    数学矩阵类   重载了 +- */ += == -= /= *= 运算符

 

  Vecter类/Vector3类

    Vecter是数学上的平面向量功能类。重载了常见+-*/等运算符。

    Vector3是空间向量类


    statisticsHelper类  

    命名空间: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
版权声明:本文为博主原创文章,转载请附上博文链接!


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864