C#通过HslCommunication连接西门子PLC1200,并防止数据跳动的通用方法

textEdit30.Text = ReadValue<int>(() => plc.ReadInt32("DB57.DBD16"), ref _last_num).ToString();

// 通用读取方法(支持所有值类型)

private T ReadValue<T>(Func<OperateResult<T>> readFunc, ref T lastValue) where T : struct

{

try

{

OperateResult<T> result = readFunc();

if (result != null && result.IsSuccess)

{

lastValue = result.Content;

return result.Content;

}

return lastValue;

}

catch

{

return lastValue;

}

}

相关推荐
!!!!8139 小时前
蓝桥备赛Day1
数据结构·算法
Mr_Xuhhh9 小时前
介绍一下ref
开发语言·c++·算法
Jing_Rainbow9 小时前
【React-6/Lesson89(2025-12-27)】React Context 详解:跨层级组件通信的最佳实践📚
前端·react.js·前端框架
gustt9 小时前
构建全栈AI应用:集成Ollama开源大模型
前端·后端·ollama
夏鹏今天学习了吗9 小时前
【LeetCode热题100(99/100)】柱状图中最大的矩形
算法·leetcode·职场和发展
如果你好9 小时前
UniApp 路由导航守卫
前端·微信小程序
im_AMBER9 小时前
告别“玄学”UI:从“删代码碰运气”到“控制 BFC 结界”
前端·css
bjzhang7510 小时前
使用 HTML + JavaScript 实现文件树
javascript·html·文件树
千寻girling10 小时前
《 MongoDB 教程 》—— 不可多得的 MongoDB
前端·后端·面试
啊阿狸不会拉杆10 小时前
《机器学习导论》第 9 章-决策树
人工智能·python·算法·决策树·机器学习·数据挖掘·剪枝