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


少有人走的路



















