设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子smart200模拟量控制程序!
返回列表
发新帖
[西门子]
西门子smart200模拟量控制程序!
[复制链接]
61654
|
0
|
2024-1-13 08:00:09
|
显示全部楼层
|
阅读模式
关注抖音直播号:dianqigongchen1、子例程 S_ITR:整数转换为实数(一般作为模拟量输入数据的转换)将整数缩放为实数此子例程的用途是将输入范围中的整数缩放为输出范围中的实数。此子例程首先会读取由调用 POU 传递的值:要缩放的输入、输入范围上限 (ISH)、输入范围下限 (ISL)、输出范围上限 (OSH) 和输入范围下限 (OSL)。下一步是用 OSH 中减去 OSL,以确定存回 OSH 中的输出缩放范围。接下来,该子例程会从输入中减去 ISL,并将所得的差先转换为双字,然后再转换为实数。之后,下一条指令将该实数乘以输出范围。再下一步是用 ISH 减去 ISL,以计算输入缩放范围,将计算所得的值转换为双字,并再转换为实数。接下来,该子例程用输出缩放范围除以计算所得的实数,并将结果与输出范围下限值 (OSL) 相加,以确定最终输出值。最后,该子例程会将此值移动到要由调用 POU 使用的子例程的输出。公式如下:输出 = [(OSH - OSL) * (输入 - ISL) / (ISH - ISL)] + OSL
程序如下:可单独制作写入库中,进行使用
2、子例程 S_RTI:实数转换为整数(一般作为模拟量输出数据的转换)将实数缩放为整数此子例程的用途是将输入范围中的实数缩放为输出范围中的整数。此子例程首先会读取由调用 POU 传递的值:要缩放的输入、输入范围上限 (ISH)、输入范围下限 (ISL)、输出范围上限 (OSH) 和输入范围下限 (OSL)。下一步是用 OSH 中减去 OSL,以确定存回 OSH 中的输出缩放范围。接下来,该子例程会从输入中减去 ISL,并将所得的差先转换为双字,然后再转换为实数。下一步是用输入减去 ISL,然后用所得的差乘以计算所得的实数输出缩放范围。再用 ISH 减去 ISL,以计算输入缩放范围,用输出范围除以计算所得的输入锁定范围,然后将商舍入为双字。之后,该子例程将根据该数据类型的界限限制检查已舍入的输出值,以确保最终值的准确性。在界限检查后,子例程会将双字值转换为整数,用该整数加上输出范围下限 (OSL),并将所得值移动到子例程输出。公式如下:输出 = [(OSH - OSL) * (输入 - ISL) / (ISL - ISL)] + OSL
程序段 2 检查 Temp_D 是否小于 -32768
程序段 3 检查 Temp_D 是否大于 32767
程序段 4 对整数值进行转换,并加上下限偏移量
3、子例程 S_RTR:实数转换为实数(根据采集到的数据变量而进行转换)将实数缩放为实数此子例程用于将输入范围内的标准化模拟量输入缩放到输出范围内。此子例程首先会读取由调用 POU 传递的值:要缩放的输入、输入范围上限 (ISH)、输入范围下限 (ISL)、输出范围上限 (OSH) 和输入范围下限 (OSL)。所有输入都为实数。下一步是用 OSH 减去 OSL,以决定输出缩放范围。之后,子例程会用输入减去 ISL,并用所得的差乘以输出范围。下一步是用 ISH 减去 ISL,以确定输入缩放范围。此时,子例程用该输出范围除以取消缩放的输入,以确定最终输出值,然后将该值移动至调用 POU 将使用的子例程输出。公式如下:输出 = [(OSH - OSH) * (输入 - ISH) / (ISH - ISL)] + OSL
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
fffff
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』