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;

}

}

相关推荐
IT_陈寒12 分钟前
5个Java 21新特性实战技巧,让你的代码性能飙升200%!
前端·人工智能·后端
咖啡の猫14 分钟前
Vue内置指令与自定义指令
前端·javascript·vue.js
昔人'21 分钟前
使用css `focus-visible` 改善用户体验
前端·css·ux
前端双越老师24 分钟前
译: 构建高效 AI Agent 智能体
前端·node.js·agent
艾小码32 分钟前
告别数据混乱!掌握JSON与内置对象,让你的JS代码更专业
前端·javascript
Antonio91536 分钟前
【图像处理】常见图像插值算法与应用
图像处理·算法·计算机视觉
夜晚中的人海38 分钟前
【C++】使用双指针算法习题
开发语言·c++·算法
im_AMBER3 小时前
数据结构 06 线性结构
数据结构·学习·算法
earthzhang20215 小时前
【1028】字符菱形
c语言·开发语言·数据结构·c++·算法·青少年编程