Winform窗体控件双向绑定数据模拟读写PLC数据

news/2024/12/2 16:05:01/文章来源:https://www.cnblogs.com/Wulinhai/p/18582066

1.用Modbus工具模拟PLC

2.创建一个实体类

点击查看代码
internal class Data : INotifyPropertyChanged
{ushort[] ushorts = new ushort[10];public ushort D0 { get => ushorts[0]; set { ushorts[0] = value; OnPropertyChanged(nameof(D0)); } }public ushort D1 { get => ushorts[1]; set { ushorts[1] = value; } }public ushort D2 { get => ushorts[2]; set { ushorts[2] = value; } }public ushort D3 { get => ushorts[3]; set { ushorts[3] = value; } }public ushort D4 { get => ushorts[4]; set { ushorts[4] = value; } }public ushort D5 { get => ushorts[5]; set { ushorts[5] = value; } }public ushort D6 { get => ushorts[6]; set { ushorts[6] = value; } }public ushort D7 { get => ushorts[7]; set { ushorts[7] = value; } }public ushort D8 { get => ushorts[8]; set { ushorts[8] = value; } }public ushort D9 { get => ushorts[9]; set { ushorts[9] = value; } }public event PropertyChangedEventHandler PropertyChanged;protected virtual void OnPropertyChanged(string propertyName){if (PropertyChanged != null){PropertyChanged(this, new PropertyChangedEventArgs(propertyName));}}
}
3.创建窗体,添加10个TextBox控件用于显示和设置plc端数据

4.把数据绑定控件,利用定时器事件读取和写入PLC数据。

点击查看代码
        Data DB = new Data();ModbusTcp ModbusTcp = new ModbusTcp();private void Form1_Load(object sender, EventArgs e){try{textBox1.DataBindings.Add("Text", DB, "D0");textBox2.DataBindings.Add("Text", DB, "D1");textBox3.DataBindings.Add("Text", DB, "D2");textBox4.DataBindings.Add("Text", DB, "D3");textBox5.DataBindings.Add("Text", DB, "D4");textBox6.DataBindings.Add("Text", DB, "D5");textBox7.DataBindings.Add("Text", DB, "D6");textBox8.DataBindings.Add("Text", DB, "D7");textBox9.DataBindings.Add("Text", DB, "D8");textBox10.DataBindings.Add("Text", DB, "D9");ModbusTcp.ModbusTcpConnect("127.0.0.1", 502);}catch (Exception ex){MessageBox.Show(ex.ToString());}}private void timer1_Tick(object sender, EventArgs e){ushort[] ushorts = {DB.D0,DB.D1,DB.D2,DB.D3,DB.D4,DB.D5,DB.D6,DB.D7,DB.D8,DB.D9};ModbusTcp.WriteMultipleRegisters(1, 0, ushorts);ushorts = ModbusTcp.ReadHoldingRegisters(1, 0, 10);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/845472.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决:点击编辑时预警通知人(与科室下拉联动)会闪一下Id再显示汉字

表单:<el-form-item label="通知人所在科室:" prop="ksdm"><el-selectv-model="formData.ksdm"placeholder="请选择"style="width: 90%"clearablefilterable@change="handleKsChange"><el-option…

浏览器拨测:将网站护航的阵地再前推一米

建立对整个服务周期的可观测能力并对其中潜在的攻击做出识别,是保证内容合规和服务质量的重要的基础能力。近年来,针对网站的攻击形式愈发多样,手段也变得更加隐蔽,使用浏览器拨测来监控服务的整个生命周期有助于及时发现攻击,保护核心业务链路不受损。作者:泉思 “从你在…

Diffusion Model的数学原理

基本概念 Forward ProcessReverse Process

高效办公必备!四款好用的电脑桌面日程提醒软件推荐

很多打工人每天的日程安排非常多,很容易会忘记或遗漏。如果能给在电脑桌面上直接使用一款日程提醒软件,就可以准时提醒每项日程事项了,轻松提高办公效率! 下面介绍4款好用的电脑桌面日程体系软件! 一、Win系统自带日历 点击电脑桌面右下角的日期,可以在日历中的某个日期下…

2024年10款最受欢迎的项目管理工具,你用过几款?

项目管理工具在现代工作中扮演着至关重要的角色,2024 年又有哪些最受欢迎的工具呢?本文将为你详细介绍 10 款热门项目管理工具,快来看看你用过几款。 在当今快节奏的商业环境中,项目管理的效率直接影响着企业的发展和竞争力。随着科技的不断进步,各种项目管理工具层出不穷…

2099年:IDEA 2024.3 安装激活使用教程

IntelliJ IDEA简介 IntelliJ IDEA是一款非常强大的Java集成开发环境(IDE),由JetBrains公司开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和部署代码。 要求 在开始之前,请确保您的计算机满足以下系统要求:操作系统:Windows、macOS或Linux 处理器:至少1 GH…

creo分割面

分割一个面成两个面.el-image-viewer__wrapper { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 2147483647 !important } .el-image-viewer__btn { position: absolute; z-index: 1; display: flex; align-items: center; justify-content: center; borde…

记录Vue3中使用pinia可能遇到的问题及解决方法

1.在安装依赖时容易停留pinia,附带持久化插件使用的地址 https://prazdevs.github.io/pinia-plugin-persistedstate/zh/guide/ 方法:请按照以下步骤: 删除 C:\Users账户中的 .npmrc 文件在命令提示符里执行 npm cache verify在命令提示符里执行 npm config set registry htt…

git报错403怎么解决

Git报错403及解决询问AI主要有以下可能原因:创建SSH:(不要用中文,管理员权限打开PowerShell运行下面的命令,地址可以自定义)ssh-keygen -t rsa -b 4096 -C "2919356315@qq.com" -f "C:/Users/lzh/.ssh/id_rsa"查看SSH:cat C:/Users/lzh/.ssh/id_rsa.p…

fetch call web api upload or update picture

昨天C# + html + fetch + API + javascript https://www.cnblogs.com/insus/p/18579193 其中有一个图片相关的功能,现把它解说一下。html页面上,简单的input和button,无需何附加<form action="/action_page_binary.asp" method="post" enctype="…

长期主义下的一本经济账:卷价格更要卷性能

「 不做陪跑者,要做支撑者。企业成长的每个关键时刻,在背后默默发力。」今年以来,云的价格战似乎更猛烈了一些。 事实上,云服务降价在规模与创新两重推动力下早就是一种常态。作为云的鼻祖,亚马逊云经常是一年连续降价十几次甚至几十次。这种理性降价,是将规模红利与创新…