求助:
FX1S没有浮点运算,请教以下宏命令:
1:FX1S的C251的数乘以0.1075 得出结果再除以 914.4,得出结果显示在屏上,M8000触发宏命令。
2:输入框的数(小数有三位)乘以914.4得出结果再除以0.1075 得出结果(取整数部份)传到PLC D160里面。
回答:
这不用大神出马,小弟就可以简单搞定。
不会只能说明自己还是一个新手,对威纶通触摸屏的使用以及宏的编程还不熟悉。
最好的方法就是下载视频教程快速上手学习。
我有录制了两套相关的视频教程,可以下载观看。
这里我也简单编写和个实例来实现这个功能。
涉及的知识点有PLC控制元件的使用,用于触发宏指令。
宏指令的编程,用于实现问题的核心功能。
数字的显示,用于显示具体的数据。
都是很简单的功能。
首先我们来看一个界面。
三菱PLC型号FX1S没有浮点运算指令,如何通过威纶触摸屏宏指令实现
点击界面的按钮可以手动触发宏指令,将来自PLC的数据转换后显示在屏上,
以及将界面上输入的数据转换后传输到PLC使用。
宏可以通过手动触发,也可以通过PLC元件设置,让PLC的M8000来触发,元件设置如下:
三菱PLC型号FX1S没有浮点运算指令,如何通过威纶触摸屏宏指令实现
关键的宏指令代码如下:
macro_command main()
//实现1的功能:乘以0.1075 得出结果再除以 914.4,M8000触发通过PLC控制元件实现
short nValue=0
GetData(nValue, "Mitsubishi FX0S/FX0N/FX1S/FX1N/FX2", C, 251, 1)
float fValue=0.0
fValue = nValue*0.1075/914.4
SetData(fValue, "Local HMI", LW, 0, 1)
//
int n=0
GetData(fValue, "Local HMI", LW, 2, 1)
n = fValue*914.4/0.1075
SetData(n, "Mitsubishi FX0S/FX0N/FX1S/FX1N/FX2", D, 160, 1)
end macro_command
可以看出,功能还是很简单的,只要有点基础的朋友都可以快速写出,主要还是自己不熟悉宏的使用。
这里要注意的是一个浮点数据全占用两个字寄存器,如占用LW0,LW1。
还有int类型数据也是占用两个寄存器,如D160,D161。
所以在界面添加数值显示元件时要设置下格式。
在PLC编程时注意不要重复使用寄存器。
具体的元件使用可以下载实例查看:
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料! 
|