[netMarketing类库] ioHelper类:io操作类,管理输入输出IO对象、气缸对象、真空对象

命名空间:netMarketing.automation.ioHelper

功能:io操作类,管理输入输出IO对象、气缸对象、真空对象


功能详细说明:

ioHelper类用于管理输入输出IO、气缸对象、真空对象。

当前版本的气缸对象与真空对象还不完善,需要后续版本进行增强。

这个类有两个配套的自定义控件 inputIOGroup和outputIOGroup,前者用于编辑输入IO,后者用于编辑输出IO。

使用这个类后,可以极大的减少IO操作的代码。IO调试面板不再需要人工拖一些按钮上去一个一个的写,你只需要用在Form上拖进去inputIOGroup和outputIOGroup控件,再使用这个类带的IO编辑器定好IO的名字与功能号,自动会在inputIOGroup和outputIOGroup控件里面生成IO按钮。

另外在使用读写IO的时候,使用的IO的枚举(中文名称)名,增强了程序的可读性。

ioHelper类内部支持使用固高运动卡的IO、雷塞640、雷塞运动卡的IO,你可以同时在一台机器上使用这三类IO。



常用函数列表



参考例子:

using netMarketing.automation;
using netMarketing.dialog;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace ioHelperTest
{
    public partial class Form1 : Form
    {
        public enum inputIoNameEnum
        {
            PLC请求焊点拍照, PLC请求Fuse拍照, PLC请求读SN信号
        }
        public enum outputIoNameEnum
        {
            联机信号, 焊点拍照完成, Fuse拍照完成, 焊点拍照结果OK, 焊点拍照结果NG, Fuse拍照结果OK, Fuse拍照结果NG, 焊点CCD上光源开关, 焊点CCD下光源开关, FuseCCD光源开关, 读SN结果OK, 读SN结果NG, 扫码完成
        }
        public enum vaccumeNameEnum
        {
        }
        public enum cylinderNameEnum
        {
        }

        // IO表对象
        private ioHelper iotab = new ioHelper("iohelper1");
        public Form1()
        {
            InitializeComponent();
            this.inputIOGroup1.Iotable = this.outputIOGroup1.Iotable = iotab;

            //定义事件IO对象
            var ioAry = new List<ioHelper.eventIoObj>();
            ioAry.Add(new ioHelper.eventIoObj()
            {
                ioName = inputIoNameEnum.PLC请求读SN信号.ToString(),
                ioTriType = ioHelper.ioTriTypeEnum.上升沿,
                ioTriTime = 0
            });
            
            //构建事件IO对象列表,订阅事件IO新闻
            iotab.setEventIO(ioAry);
            iotab.eventIOMessage += iotab_eventIOMessage;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.inputIOGroup1.update();
            this.outputIOGroup1.update();
        }

        /// <summary>
        /// 事件驱动的业务循环
        /// </summary>
        /// <param name="obj"></param>
        private void iotab_eventIOMessage(string obj)
        {
            MessageBox.Show(obj);
        }

        private void 弹出IO编辑器ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            iotab.showSetupForm();
        }

        private void 进入IO编辑模式ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            iotab.isIoEditMode = true;
        }

        private void 退出IO编辑模式ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            iotab.isIoEditMode = false;
        }

        private void 查看IO表ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var dlg = new dataTableViewForm("IO表数据表查看") { MydtHelper = iotab.returnIOtabDataSetObj() };
            dlg.StartPosition = FormStartPosition.CenterParent;
            dlg.ShowDialog();
        }
    }
}



image.png

image.png

image.png


进入io编辑模式后,可以看到输入IO和输出IO变红色,表示这个时候你可以点击IO按钮时弹出编辑面板,在这个面板里可以修改IO的编号。

image.png  image.png


image.png


image.png


--------------------- 

作者: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