admin 发表于 2018-6-7 16:08:09

树莓派 编程进阶

编程进阶

可能顺序会比较乱,有些是我个人的习惯,仅供参考。

1、树莓派关机及command命令的执行
我们首先打开LX终端,输入sudo pcmanfm,以管理员权限打开文件管理器。转到/home/pi/下,新建一个空文件Shutdown.sh,右键-Leafpad打开。输入如下内容,保存并关闭:然后在该文件上右键-文件属性,转到权限选项卡,执行改为 所有人然后打开/etc/CODESYSControl.cfg,在后添加一行Command=AllowAll。保存。在Codesys里添加SysProcess库(注意输入框右边的+号(显示高级库)要打开):然后新建一个POU,输入如下内容。当xRaspiShutDown为true时,在树莓派中就会执行Shutdown.sh,继而关机。参考http://forum-de.codesys.com/viewtopic.php?t=5030#p16292我们可能会遇到的另外一个问题是基于windows的。如果是希望win关机则会比较简单,在visu里创建一个按钮,OnMouseDown添加一条在PLC/客户端执行程序(ExecuteClientProgram)即可,如下图:-

2、用颜色变量制作状态指示灯
首先在visu里创建一个矩形方块,属性-元素外观-行类型改为“空心的”。颜色-填充颜色改为LightGray。颜色变量-正常状态-填充颜色里写一个DWORD变量(不能用GVL)。例如:在这个变量里,16#是固定前缀,FF是透明度,D4D0C8和FF0000是16位RGB颜色。一般可以将颜色值创建constant常量便于理解。该程序运行效果如下-

3、用frame制作下拉菜单
自带的下拉菜单比较丑,并且受限于visustyle。当下拉选项较少或下拉选项包含图标时,可以采用frame的方法。frame也可以扩展为选项卡,比较实用。
首先在主visu创建一个圆角矩形,大小为250x75,字体颜色white,大小26(一号)。框的颜色设为lightgray,填充颜色设为black,透明度200。创建一个textlist,内容如下。
之后回到圆角矩形的属性,将动态文本-文本列表设为textlist,文本索引设为POU.textdisplaynumber。将OnMouseDown设为切换变量POU.textlistenable。创建一个新的visu,名称为frame。创建如下按钮,总的外框大小250x300,每个按钮设置为OnMouseDown执行ST代码。再插入到主visu中,状态变量-不可见设为POU.textlistenable。如下运行效果如下图。如果需要更改直接在frame里改就可以。-

4、用CASE实现延迟
ST语言类似于C语言,但可能没有在单片机上常用的中断、延迟、RTOS等指令。大多数情况下我们可以通过循环或判断语句实现,例如当我们想延迟执行一段代码时,比如wait 0.5,可以用case替代。例如该方法参考http://forum.codesys.com/viewtopic.php?t=7534#p17031

ljch1978 发表于 2019-12-8 17:39:36

非常好,对于初学者非常有益
页: [1]
查看完整版本: 树莓派 编程进阶