命名空间: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(); } } }
进入io编辑模式后,可以看到输入IO和输出IO变红色,表示这个时候你可以点击IO按钮时弹出编辑面板,在这个面板里可以修改IO的编号。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

