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;

}

}

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