备案网站ip,wordpress 主题 百科,做数据的网站,wordpress 商品采集本篇内容将介绍TsMaster中常用的Panel面板控件以及使用Panel控件通过系统变量以及c小程序来修改信号的值#xff0c;控制报文的发送等。 目录
一、常用的Panel控件介绍
1.1系统——启动停止按钮
1.2 显示控件——文本框
1.3 显示控件——分组框
1.4 读写控件——按钮
1.…本篇内容将介绍TsMaster中常用的Panel面板控件以及使用Panel控件通过系统变量以及c小程序来修改信号的值控制报文的发送等。 目录
一、常用的Panel控件介绍
1.1系统——启动停止按钮
1.2 显示控件——文本框
1.3 显示控件——分组框
1.4 读写控件——按钮
1.5读写控件——输入输出框
1.6读写控件——开关
1.7读写控件——选择器
1.8读写控件——文件选择器
1.9显示控件——图形
1.10显示控件——指示灯
1.11显示控件——仪表
1.12显示控件——饼图
二、系统变量的创建与使用
2.1 系统变量的类型
2.2 用户变量的变量类型
2.3 创建系统变量
三、c小程序简单使用c小程序发送报文
3.1 粘贴代码法
3.2 系统变量与panelc小程序简单结合使用 一、常用的Panel控件介绍 在仿真菜单栏点击面板下的箭头创建一个新的面板 如图所示是刚刚创建的空面板在面板的右上角有着工具箱属性对象。 切换到工具箱视角 可以看到工具箱内提供了许多的基础控件我们可以基于这些系统提供的基础控件来实现一些需要的功能。 添加控件的方法在工具箱选择空间后按住鼠标左键不松拖动到编辑区即可。 每个控件都有着各自的属性设置当添加一个控件到编辑区之后鼠标单击刚刚添加的控件即可显示这个控件的属性。 这里以静态文本框的属性界面为例介绍一下控件的大多数通用属性。
从上往下依次是
Align控件的排列设置可以设置控件在编辑区工作区内的排列位置。
bkgdColor控件的背景颜色
bkgdOpacity控件的背景不透明度取值范围0~10完全透明1完全不透明
BorderActive边界使能如果为false则控件不显示边框为true显示边框。
Controlname控件的名字
DisplayFormat典型设置没发现有什么作用有大佬可以告诉我
Enable使能属性如果为true则可以响应鼠标和按键的操作为false则不响应
Height控件的高度
Margins控件的边距用于设置此控件到父控件或者父控件内的其他控件的距离一般不常用
Opacity不透明度同上面的
padding控件的填充用于设置的子控件到每个边的距离一般也不用
Position设置当前控件对于其父控件的位置
ReadOnly如果设置为true则只能显示不能编辑为false可以编辑
RotationAngle设置控件的旋转角度
Scale设置控件的比例也不怎么用
Text控件显示的文字
TextColor显示的文字的颜色
TextSetting可以设置文本的样式
Transparent设置透明度使能
VarLink绑定的对象可以是系统变量信号等
VarType绑定的对象的类型
Width控件的宽度 1.1系统——启动停止按钮
此控件的功能十分的粗暴是用于在Panel面板上控制TsMaster工程的启动与停止的无需其他额外属性。 添加一个启动停止按钮在Panel面板上。随后点击左上角的铅笔退出编辑模式。 当TS工程处于未启动状态时Panel控件上的启动停止按钮式一个链接的图标样式同TS左上角的启动图标。
当我们点击一下Panel上的这个按钮TS工程将被启动并且启动后这个按钮图标将变为断开连接的图标如图TS左上角的停止按钮 此时再次点击Panel上的这个图标TS工程将被断开。 1.2 显示控件——文本框
如图控件名称文本框就是用来显示一段固定的标签文字的。 在属性栏的Text栏目中即可修改文本显示的内容。 修改后回车即可生效。 1.3 显示控件——分组框
此控件作用就是给出一个分组可以将所需要分组的控件放在一个分组框中便于提示用户这些控件用于操作一组xxx数据等 1.4 读写控件——按钮
按钮通常用于跟一个bool量或者一个整形变量进行绑定当按钮按下时绑定的对象值即为1或者其他设置值当按钮松开后绑定的对象值也不会恢复 可以通过设置varLink和vartype属性来设置按钮绑定的对象。 点击选择VarLink属性VarLink属性后便会出现选择按钮点击此按钮可选择绑定的对象这里我以一个事先创建了的系统变量为例。 选择对应的对象类型选择完毕后点击确定 绑定完成看看效果。 按钮未按下时对应的变量值为0按下后松开变量的值变为了1且不会恢复为0 其具备一个名为ValuePushed的属性可以设置当按钮按下时对应的变量改变的值。 1.5读写控件——输入输出框
输入输出框可以用于信息的输入输出通常适用于输入字符串输入数字等。
同样的这里我创建一个输入输出框并将其绑定为我的系统变量。 当输入0时我绑定的系统变量值变为0当输入5时我绑定的系统变量值变为5 1.6读写控件——开关
开关一般用来跟可以表示两种状态的信号或者变量进行绑定这个控件具备两个可以修改的属性
ValueLeft和ValueRight 当开关的焦点的左侧时对应的值为ValueLeft当开关焦点在右侧时对应的值为valueRight
如图我的左值和右值分别为0和1。所以当我的开关焦点在左侧时变量的值为0在右侧时变量值为1. 接着我们可以修改下这个开关的左值和右值看看。 如图我为这个开关设置了两个新的左值和右值再次操作开关对应变量的值也会随之改变。 1.7读写控件——选择器 选择器可以根据绑定的变量信号本文中统一使用变量表示的取值表生成一个下拉框并在下拉框中显示对应的取值表。 创建一个选择器并将选择器绑定一个具有取值表的变量。 这里我选择绑定一个can信号 绑定完成后点击下拉箭头即可看到绑定的变量的取值表并且当修改下拉选项时被绑定的变量值也将发生改变。 当我的选择器下拉列表选择的时NoReq时我绑定的CAN信号值也为NoReq0 当我将下拉选择器改为doorOpen时对应的信号值也变为了doorOpen1 1.8读写控件——文件选择器
此控件的作用为点击后弹出一个对话框用于选择一个文件并且会将选择的文件路径返回给绑定的字符串类型变量 创建一个文件选择器随后为其绑定一个String类型系统变量 当未选择文件时路径处为0随后启动TS工程点击文件选择器选择一个文件 选择完毕后字符串变量的值就变成了刚刚选择的文件的地址。 1.9显示控件——图形
图形可以当做一个简单的Graphics窗口来使用 图形控件默认是2条信号曲线如果需要修改信号的数量可以通过修改SignalCount来设置
通过这个图形的属性我们可以看到默认编辑的信号索引为0即为这个图形控件关联变量时关联的是索引为0的那条曲线即第一条曲线 现在我们添加两个信号来观察一下 选择varLink关联第一个变量。 关联完成后将EditSignalIndex修改为1即可编辑第二条曲线这里修改一下然后关联第二个信号 关联完成可以看到图形上的两条曲线都有了名字
鼠标拖动图形右侧边界将图形放大一些 运行工程当两个信号值都是0的时候图形上的曲线也保持为0当这两个信号发生变化之后图形上的曲线也同步发生了改变。 1.10显示控件——指示灯
指示灯是一个非常简单的控件也主要用来绑定只有两种值的信号与开关不同的是它是只读的用户没法改变他的状态。 其的属性中ColorOff用来设置当指示灯关闭时的颜色Color用来设置当指示灯打开时的颜色。。
ThresholdHigh和ThresholdLow用来设置高低阈值当ThresholdMode设置为true时只要绑定的变量值大于等于High值时指示灯就打开小于等于Low值时指示灯就关闭。
ValueOn用来设置指示灯打开时的值绑定的变量值等于该值时指示灯亮起需要ThresholdMode为false的前提下才有效。 绑定信号后当信号值为0时led熄灭当值为1时led亮起。 1.11显示控件——仪表
仪表就像一个汽车上的仪表一样通常用来指示车速电机的位置车窗车门的开度等用于表示位置或者大小范围。 其中属性AngleSpan用于设置仪表显示刻度的范围即仪表最小值0~最大值之间的角度。
AxisIncrement用于设置刻度的细密度默认为0为0时系统自动调节细密度当设置为非0时需要手动调节设置值越小细密度越大。
MaxValue和MinValue用于设置仪表显示刻度的上下限值。
Showvaluemask用于设置仪表的当前值是否能显示出来 当绑定的变量值发生改变时仪表控件上的值跟随变化并且指针移动。 1.12显示控件——饼图
饼图可以用来表示两个或多个变量值之间的占比关系 属性EditSignalIndex表示当前编辑的变量的索引索引为0表示第一个信号
SignalCount用于设置饼图中的变量数量
和图形控件一样绑定多个信号需要一次修改索引后进行绑定。
这里我绑定两个信号当信号值发生变化时饼图关系也随之改变。由于我的信号值加起来总共6份其中一个占5一个占1。显示的饼图就是六等分一个六分之五一个六分之一的情景。 二、系统变量的创建与使用
2.1 系统变量的类型
TS的系统变量分为内部变量与用户变量两种用户只能创建用户变量内部变量是TS程序自己生成的无权更改与使用。 在仿真菜单栏下点击系统变量打开系统变量视图。
左上角左侧是内部变量右侧是用户变量。 2.2 用户变量的变量类型
用户变量类型跟常用的编程语言中的数据类型基本相同
int32——有符号32位整数类型
uint32——无符号32位整数类型
int64——有符号64位整数
uint64——无符号64位整数
uint8Array——无符号8位整数数组即字节数组
int32Array——有符号32位整形数组
int32Array——有符号64位整形数组
double——双精度浮点型变量
doubleArray——双精度浮点型数组
String——字符串类型 2.3 创建系统变量
在空白处右击鼠标选择创建用户变量弹出的界面如图所示 名称变量的名字可在小程序和panel中访问
类别类似于命名空间的概念当设置得有类别名a的变量name时变量名则为a.name非必须
注释变量的注释用于描述这个变量非必须
数据类型变量的数据类型用于定义变量表示数据的表示范围
单位变量代表的数据的单位非必须
小数点位数如果为浮点数表示的精度非必须
格式化数据变量的显示格式和精度只能有一个生效非必须
只读设置为只读则只能通过小程序代码修改无法在外部修改
记录如果勾选则此变量的值的变化会记录到log中
触发事件变化如果取消勾选则Panel绑定此值无法发生变化
取值表该变量的每个不同的值代表的含义通过取值表配置
点击配置取值表可以在弹出的界面中设置取值表 如果配置了取值表则Panel中关联时如果变量值处于有取值表的值则会显示取值表中对应值的描述名称。 三、c小程序简单使用c小程序发送报文
TS的c小程序编程除去自身提供的函数库以外完全兼容标准c/c语法这里暂时不做过多介绍 在设计菜单栏选择c小程序下的箭头创建一个新的c小程序 TS的C小程序中提供了一个Step函数Step函数是一个以5ms为周期循环调度的函数在这里可以简单的做一些需要重复做的事情但不宜执行耗时过长的代码。 除了Step函数外C小程序还提供了一套较为完备的事件驱动系统类似与CANoe与C的Qt框架可以通过事件机制在事件触发时来比较便捷的执行自己的逻辑。
3.1 粘贴代码法
对TS的C编程不熟悉的朋友如果想利用c小程序进行某些操作可以使用代码粘贴法。
何为代码粘贴法 如图所示在TS程序中许多地方都提供了鼠标右键可以生成对应代码的功能当对TS的c编程不熟悉之时可以使用这种方法来学习。 比如在报文发送模块新建一个报文随后右键选择复制为c代码 就会跳出对应功能的代码我们可以直接复制这段代码达到想要的功能。
并且TS还提供了三种发送报文的方式。
自由编辑方式直接操作报文的字节和IDdlc等属性随后调用发送函数发送
数据库信号方式以数据库信号定义的方式将当前报文的各个信号的状态定义出来并修改信号发送
总线仿真引擎方式以rbs仿真的形式发送报文直接设置数据库中的信号。 这里我直接复制自由编辑模式的代码随后打开c编辑器将代码复制在Step函数中并将报文ID修改为0x456 随后点击编译图标编译这段c代码并为c小程序节点勾选自启动模式 启动TS工程可以看到我们定义的报文就已经在自动发送了。 3.2 系统变量与panelc小程序简单结合使用
现在使用零代码粘贴方法实现以下利用panel控制TS发送报文。
以上文中介绍的方法创建两个系统变量sendMsg234和sendMsg456 在Panel面板中创建两个按钮并分别绑定这两个变量。 在c小程序中找到变量变化事件创建两个事件 鼠标右击添加事件分别添加两个系统变量对应的事件使用选项找到刚刚创建的变量选择完毕后点击应用 ok创建完成后得到了如图所示的两个变量变化事件 现在打开刚刚复制的发送报文的代码剪切一下粘贴到这两个变量变化事件内并分别修改下对应的报文ID 随后编译代码启动工程。 现在就可以做到点击一次就发送一次对应的报文了。 本期介绍到此为止以后将会详细介绍TS的一些库函数使用或者大家有什么想知道的也可以在评论区提出谢谢。