C#读写欧姆龙PLC
C#引用HslCommunication简单的实现读写欧姆龙PLC
首先感谢胡工
1.新建一个窗体应用程序,加入用到的控件:一个按钮botton1,当作连接按钮;4个label,用来显示读到的值;写入的功能直接写在代码里,就不需要控件了
2.在项目中引入HslCommunication包
3.编写C#代码,添加按钮的点击事件和计时器的Tick事件,详细代码如下,注释中说明代码的意义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | namespace omronPLC { public partial class Form1 : Form { //OmronFinsNet对象 OmronFinsNet omron = new OmronFinsNet( "192.168.250.1" , 9600); public Form1() { InitializeComponent(); } //按钮点击事件 private void button1_Click( object sender, EventArgs e) { //点击按钮button1时,启动计时器 timer1.Start(); } //计时器Tick事件 private void timer1_Tick( object sender, EventArgs e) { //连接 OperateResult operate = omron.ConnectServer(); if (operate.IsSuccess) { //int类型 int a = omron.ReadInt32( "D100" ).Content; //float类型 float b = omron.ReadFloat( "D300" ).Content; //bool类型 bool c = omron.ReadBool( "W100.01" ).Content; bool d = omron.ReadBool( "C100.02" ).Content; //显示到label上 label1.Text = a.ToString(); label2.Text = b.ToString(); label3.Text = c.ToString(); label4.Text = d.ToString(); //写入PLC omron.Write( "D400" , 123); omron.Write( "W10.04" , true ); } else { //如果连接失败,计时器停止,以免一直尝试连接导致卡顿 timer1.Stop(); } } } } |
通过以上代码实现的效果是,点击按钮后尝试连接PLC。如果连接成功,根据计时器的Tick频率来持续的读写PLC中的值,如果连接失败,则停止计时器。
4.编写PLC程序,因为上述C#代码中已经提前写了一些PLC地址,在PLC中就沿用这些地址编写,细节如下
其中D300是一个随机变化的值
5.用网线连接电脑和PLC,改好电脑和PLC的IP地址,运行程序,点击按钮button1,得到结果如下,测试成功:
同时将PLC程序连上,查看写入是否成功
1 2 3 | //写入PLC omron.Write( "D400" , 123); omron.Write( "W10.04" , true ); |
可以看到W和D区都写入成功,至此基本功能已经实现。
相关资料:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!