矩阵编程

在SimFAS中控中,可以用简单的方式进行矩阵编程,就可以实现矩阵信号切换.
这里需要略懂常规编程思路,其中主要用到了APP带参数调用中控程序. task.tsk?in=xx 和 if判断

2023-12-07T00:22:30.png

该功能可以实现,中控只写一个程序,程序配合if指令对传进来的参数in等参数的判读,就可实现一个程序多种功能.

app上通过 task.tsk?in=xx 这样的模式,给不同的按钮分配不同的功能.

实际效果

2023-12-07T00:15:00.png

编程思路

用户按了输入通道的时候,把用户输入的通道记录下来。
当用户按输出通道的时候,记录输出通道,然后根据矩阵协议,通过串口把数据
发送出去,达到切换矩阵的目的。

程序代码

2023-12-05T13:54:41.png

导入程序

在代码市场搜索关键字: 矩阵切换
2023-12-05T13:55:11.png

参数使用

当在SimAPP中带了参数,例如task.tsk?IN=1的时候,在中控程序中IN就是变量,可直接访问IN,它的值就是1
例如,您可以直接在中控程序中把它打印出来: print(IN);

修改协议部分

根据不同的矩阵协议,只需要修改一行,如下图.
具体协议见矩阵的说明书,其中第一个%d会被变量_IN代替,其中第二个%d会被变量OUT代替,组合的结果放在变量 res上,然后通过串口发出去,达到控制矩阵的目的.其中只需要修改 "%02dV%02d."引号里面的内容,如不熟悉sprintf用法,请联系我们的工程师.
2023-12-05T13:57:14.png

另外一个矩阵协议如下:
2023-12-07T00:17:19.png

那么在程序修改格式为: [%02dN%02dT# 就可以正常使用. 其中 %02d 就代替了固定的输入通道,它最终会被app发过来的参数数字变量替代. 参数也就是 ?IN= 和 ?OUT= 带过来的参数.

在SimAPP_Maker指定功能

输入1
2023-12-07T00:22:30.png

输出2
2023-12-07T00:23:07.png

参数自由定义

该动作和参数可自由编辑.
2023-12-08T00:43:09.png
添加更多的输入按钮用同样的办法,修改IN=后面的参数
输出按钮用同样的办法,修改OUT=后面的参数.

str.sprintf说明

str.sprintf使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串.

if使用

中控的默认程序中, if的语法如下,条件判断需要用括号()括起来.

if (条件判断)
条件成立执行的程序段
else
条件不成立执行的程序段
end
2023-12-07T00:41:48.png

更多说明请联系技术支持获取最新版的编程手册说明.

SimFAS_basic_user_fun.pdf

2023-12-06T03:10:01.png

更高阶编程

如果默认模式不能满足您的需求,例如if不能嵌套,逻辑条件等不能满足编程需求,可以用高级编程模式,
该模式有和其它编程语言一样的完整功能,详见文档.

SimFAS中控矩阵编程.pdf

SimFAS专家模式编程语法快速入门.pdf