用数值元件, 地址可以选择到这个Selection值, 这是一个寄存器, 这个我如何用宏指令来读取到它? 威纶的说明书上关于读取写入配方资料库的某个数值的案例, 好像都是用的常量来指定, 我的功能需要取得Selection这个变量,
由宏指令来让它正确读写配方资料库的数据. 目前卡在这儿了, 求指教。
这是一个关于威纶通配方数据库的使用问题。
也是一个基础的问题。
在我录制的101集视屏里已经很详细的介绍了配方数据库的添加,显示与调用。
浅显易懂,可以下载跟着练习与使用。
要使用配方数据库,首先我们得添加一个配方数据库。
如下图,在系统参数,配方数据库下,可以添加一配数据库。
并添加几个项目。
如何使用威纶通触摸屏宏读取配方资料库里面的Selection值
然后是对项目添加几组数据作为配方选择使用。
如下图,在工程文件,配方数据库记录,
可以点击弹出对话框,添加几组数据。
如何使用威纶通触摸屏宏读取配方资料库里面的Selection值
有了数据后,如果想要显示出配方数据库,
可以自己通过自己使用RECIPE地址来实现,
也可以直接使用配方检视元件来显示,
如下图所示。
如何使用威纶通触摸屏宏读取配方资料库里面的Selection值如何使用威纶通触摸屏宏读取配方资料库里面的Selec ...
当然前面所介绍的功能,如果找不到或为灰色,
说明自己的触摸屏并不支持这个功能。
我们创建一个例程,屏型号为MT6071IE。
可以直接使用上面介绍的功能。
界面如下:
如何使用威纶通触摸屏宏读取配方资料库里面的Selection值
可以在selection里添加索引来选择使用哪组配数据库。
另外问题问的是如何在宏里面来使用selection.
例程也添加了一个宏来动态的修改selection的数据,
如下图,在添加一个函数时可供选择使用哪个寄存器。
如何使用威纶通触摸屏宏读取配方资料库里面的Selection值
我们选择对应配方数据库的selection就好。
宏代码如下:
macro_command main()
short nSelect=0
GetData(nSelect, "Local HMI", RECIPE, "test.Selection")
nSelect=nSelect+1
if nSelect>2 then
nSelect =0
end if
SetData(nSelect, "Local HMI", RECIPE, "test.Selection")
end macro_command
威纶通触摸屏编程时,是可使用四个系统寄存器来查询/更新/增加/删除配方数据库内容的。
具体演示可以下载我录制的视频教程。
下面是官方的介绍:
Selection:
目前所选择的配方编号。编号为从0 开始计算,因此若点击第一笔,则 Selection的数值会显示0,依此类推。
当 [Selection] 的值改变时,相对应的寄存器也会跟着改变。
Count:
目前配方中的资料笔数。
Command :
输入特定的数值可对选取的配方数据下执行命令。(数字为执行的命令数値)
输入 ”1” 将新的配方资料新增到目前选择的配方资料下
输入 “2” 将更新目前选择的配方资料
输入 “3” 将删除目前选择的配方资料
输入 “4” 将删除所有配方数据
Result :
可监看命令的执行结果。(数字为执行命令后的结果数値)
数值 ”1” 代表命令成功执行
数值 “2” 代表该笔配方不存在
数值 “4” 代表未知的命令
数值 “8” 代表配方已达上限(10000 笔),无法新增
配方数据库的使用,操作步骤非常多,并没有我们想象的那么连贯。
当前回答的这个问题,可以下载下面的例程模拟运行查看效果。
下载地址:
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|