命名空间:UserUI
功能:自定义组件,IO按钮
功能详细说明:
inputIOGroup,outputIOGroup 是输入IO组和输出IO组。这个控件应该和ioHelper类一起使用。
ioHelper类提供的三个功能对应下面演示程序中的三个按钮(图1):
弹出IO编辑器
进入IO编辑模式
退出IO编辑模式
弹出IO编辑器功能,弹出图2所示的面板,你可以在上面创建输入输出IO的信息,要填写的信息包括:
IO点编号,IO类型,IO名称
输入完IO信息后,点击“复制代码”按钮, 会自动生成IO信息的枚举代码,将其粘贴到程序的变量定义处。
下面演示程序中的输入输出IO枚举变量
inputIoNameEnum outputIoNameEnum
就是粘贴上去的代码。
然后重新运行程序,你会发现原来空白的inputIOGroup,outputIOGroup 控件里面已经自动填充上了ioButton控件。
另外,如果你再点击“弹出IO编辑器”,会发现面板中的“气缸动点IO”,“气缸原点IO”之类下拉列表会出现你之前定义好的输入输出IO的信息,以方便你定义气缸对象和真空对象。
另外一个功能“进入IO编辑模式”,占击后你可以通过直接点击ioButton后弹出一个IO编辑对话框,可以在上面修改IO名称和IO编号。最后按“退出IO编辑模式”退出编辑状态。
图1
图2
using netMarketing.automation; 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 inputIOGroupTest { public partial class Form1 : Form { public enum inputIoNameEnum { PLC请求焊点拍照, PLC请求Fuse拍照, PLC请求读SN信号 } public enum outputIoNameEnum { 联机信号, 焊点拍照完成, Fuse拍照完成, 焊点拍照结果OK, 焊点拍照结果NG } private ioHelper iotab = new ioHelper("iohelper1"); public Form1() { InitializeComponent(); this.inputIOGroup1.Iotable = this.outputIOGroup1.Iotable = iotab; } private void Form1_Load(object sender, EventArgs e) { this.inputIOGroup1.update(); this.outputIOGroup1.update(); } private void colorfulButton1_Click(object sender, EventArgs e) { iotab.showSetupForm(); } private void colorfulButton2_Click(object sender, EventArgs e) { iotab.isIoEditMode = true; } private void colorfulButton3_Click(object sender, EventArgs e) { iotab.isIoEditMode = false; } } }
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

