主界面工具栏主要用于编译和运行
程序可设计为周期执行和事件执行。
代码生成为编译时自动生成的代码,只读。
TSMaster头文件为系统内置文件,只读。
数据库头文件里面将导入的DBC文件进行解析,只读。
配置头文件可以导入小程序头文件
全局定义里面写全局定义的变量、函数等各种对象。
Step是主函数,利用它可以周期执行动作,可以修改调用的周期。
文档只是拿来说明,基本无用。
变量可以导入系统变量
定时器可以添加定时器进行计时
事件执行模块有:CAN收发事件、LIN收发事件、系统变量变化事件、定时器到时事件、程序启动停止事件、按键事件。
自定义函数可以自己写接口函数。
在外部导入mpc文件
把mp文件在工程路径里面D:\TSMaster\bin\Configuration\TOSUN\TSMaster\bin
报文为mpc文件
一般默认名字都很难识别,需要重命名为自己能够识别的英文名。
点击这个可以重命名。
代码生成:编译的时候会带出来,只读。不好的就是,如果出现错误,不能直接跳转到源代码里面去修改,而且不能做任何条件编译处理。
TSMaster头文件:软件自带头文件
数据库头文件:导入DBC的时候会带出来
配置头文件:导入新的头文件的时候要再这里声明
全局定义:相当于全局声明
Step函数:只能有一个,可选周期轮询。
文档:想写啥写啥,不写也行
变量有适用范围,这里要注意下。
在C代码编辑器里面添加的变量适用范围仅限于当前C代码编辑器,出了这个编辑器都用不了。
可以一个一个添加,也可以一整个列表添加,添加之后基本什么都不用写。其实就是系统变量,可以用来跟面板联动。
定义诸如浮点“v1”变量后,可针对变量作如下操作:
[1] 读取变量值: double d = v1.get();
[2] 给变量赋值: v1.set(12.34);
[3] 实时监控变量: 直接F9运行程序即可,在“变量”页面就可以看到此变量的实时值
[4] 实时监控系统变量: 在程序运行同时,还可在其他窗口例如图形窗口加载与这个变量关联的系统变量以查看其变化曲线
可以创建一个“变量变化事件”,通过变量变化就会进入。
定时器的设计比较鸡肋,要先在“定时器”里面添加个定时器,起个名字跟周期就行。然后“定时器触发事件”里面写上触发时候要处理的操作。
定时器开启timer5ms.start();
定时器关闭timer5ms.stop();
一般用来装载要发送的数据,打个log之类的。
报文发送事件没什么用,还不如报文发送操作有用。
对着报文右键,选择“复制为C脚本”,选择“数据库信号方式”会比较全一些。
TCAN是个很有用的结构体,一般用在创建临时变量,能加载进所有发送报文里面,在TSMaster.h文件里面有定义,可以在里面放入需要发送的内容。
TDiag_PhyReq_IVI_1是数据库头文件里面的类型,可以创建一个报文对象Diag_PhyReq_IVI_1
然后将报文对象初始化init、load_data传入TCAN对象的FData数据地址进去、就可以调用com.transmit_can_async()来发送报文了。
app.wait(0, "");是延迟毫秒函数和打印log
调用init_w_std_id设置CAN报文的ID和长度,CANFD和LIN类似。
也可以创建了CANMsg的变量,当做报文来使用。
赋值可以用set_data()
ACAN->FData[]可以访问发送报文的字节
.get()可以获取报文内容,返回值类型为TCAN。
.set()可以设置报文内容,入参类型为TCAN。
调用标准接口com.add_cyclic_message_can();把TCAN对象和通道放进去
ACAN->FData[]可以直接访问接收到的报文的数据,但是执行一次FCAN.load_data就可以借助DBC把报文里面的信号给解析出来。
调用log接口打印就行,跟printf用法一样
一般要调用个app.connect();来映射通道
可以有多个程序启动事件
调用app.terminate_application()可终止程序
在函数对话框里面可以查到一些内置的标准接口。
如果安装在D盘的话,在D:\TSMaster\bin\Data\Demo\MiniProgram路径下面有具体示例,相对比较简单。