矩阵编程
在SimFAS中控中,可以用简单的方式进行矩阵编程,就可以实现矩阵信号切换.
这里需要略懂常规编程思路,其中主要用到了APP带参数调用中控程序. task.tsk?in=xx 和 if判断
该功能可以实现,中控只写一个程序,程序配合if指令对传进来的参数in等参数的判读,就可实现一个程序多种功能.
app上通过 task.tsk?in=xx 这样的模式,给不同的按钮分配不同的功能.
实际效果
编程思路
用户按了输入通道的时候,把用户输入的通道记录下来。
当用户按输出通道的时候,记录输出通道,然后根据矩阵协议,通过串口把数据
发送出去,达到切换矩阵的目的。
程序代码
导入程序
在代码市场搜索关键字: 矩阵切换
参数使用
当在SimAPP中带了参数,例如task.tsk?IN=1
的时候,在中控程序中IN
就是变量,可直接访问IN
,它的值就是1
例如,您可以直接在中控程序中把它打印出来: print(IN);
修改协议部分
根据不同的矩阵协议,只需要修改一行,如下图.
具体协议见矩阵的说明书,其中第一个%d会被变量_IN代替,其中第二个%d会被变量OUT代替,组合的结果放在变量 res上,然后通过串口发出去,达到控制矩阵的目的.其中只需要修改 "%02dV%02d."
引号里面的内容,如不熟悉sprintf用法,请联系我们的工程师.
另外一个矩阵协议如下:
那么在程序修改格式为: [%02dN%02dT#
就可以正常使用. 其中 %02d 就代替了固定的输入通道,它最终会被app发过来的参数数字变量替代. 参数也就是 ?IN= 和 ?OUT= 带过来的参数.
在SimAPP_Maker指定功能
输入1
输出2
参数自由定义
该动作和参数可自由编辑.
添加更多的输入按钮用同样的办法,修改IN=后面的参数
输出按钮用同样的办法,修改OUT=后面的参数.
str.sprintf说明
str.sprintf使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串.
if使用
中控的默认程序中, if的语法如下,条件判断需要用括号()括起来.
if (条件判断)
条件成立执行的程序段
else
条件不成立执行的程序段
end
更多说明请联系技术支持获取最新版的编程手册说明.
更高阶编程
如果默认模式不能满足您的需求,例如if不能嵌套,逻辑条件等不能满足编程需求,可以用高级编程模式,
该模式有和其它编程语言一样的完整功能,详见文档.
0 条评论