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;

}

}

相关推荐
哈__1 分钟前
React Native 鸿蒙跨平台开发:Vibration 实现鸿蒙端设备的震动反馈
javascript·react native·react.js
Tisfy3 分钟前
LeetCode 0085.最大矩形:单调栈
算法·leetcode·题解·单调栈
WebGISer_白茶乌龙桃3 分钟前
Cesium实现“悬浮岛”式,三维立体的行政区划
javascript·vue.js·3d·web3·html5·webgl
mit6.8244 分钟前
出入度|bfs|状压dp
算法
hweiyu005 分钟前
强连通分量算法:Kosaraju算法
算法·深度优先
源代码•宸5 分钟前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker
小Tomkk6 分钟前
⭐️ StarRocks Web 使用介绍与实战指南
前端·ffmpeg
不一样的少年_10 分钟前
产品催: 1 天优化 Vue 官网 SEO?我用这个插件半天搞定(不重构 Nuxt)
前端·javascript·vue.js
mit6.82412 分钟前
逆向思维|memo
算法
-dcr12 分钟前
50.智能体
前端·javascript·人工智能·ai·easyui