课程中心
HOME
课程中心
正文内容
plc编程style 60 个神级 VS Code 插件
发布时间 : 2024-10-08
作者 : 小编
访问数量 : 23
扫码分享至微信

60 个神级 VS Code 插件

本文不做任何编辑器的比较,只是我本人日常使用 vscode 进行开发,并且比较喜欢折腾 vscode ,会到处找这一些好玩的插件,于是越攒越多,今天给大家推荐一下我收藏的

60 多个 vscode 插件,据说插件装太多,编辑器会变卡,可能是我的电脑配置还顶得住,目前并没有感觉到卡卡的。接下来我会将会以

优化外观功能扩展提升编码效率代码格式化其它插件 几个分类来进行介绍。注:本文只涉及插件的基本使用,也就是让你知道存在这样一种插件,以及大致了解这个插件可以做什么事,部分插件的详细配置过于复杂,有需要的小伙伴请自行冲浪。根据每个人电脑,vscode 配置,以及插件的不同,部分插件可能在你电脑上不会生效。文中提到的快捷键都是 windows 下的,其他操作系统的快捷键请自行了解。好马用好鞍,好看的编辑器外观,可以提升程序员的编码体验,可以让开发人员的心情变好,让写 bug 更有动力。

Better Comments

一款美化注释的插件,可以根据不同种类的注释,显示不同的颜色,一目了然。

安装完以后,插件会默认自带几种颜色的注释,还可以通过 vscode 的配置文件自定义任何颜色,类型的注释。具体的配置方法我给你们找好了。

Bracket Pair Colorizer / Bracket Pair Colorizer 2 这是一个找对象的插件,不是帮你们找对象啊,是帮你找到括号的另一半。目前有两个版本,Bracket Pair Colorizer 2 是增强版,具体我没有深入研究具体增强了哪些内容。而且它有挺多的设置项,反正安装完默认的配置已经够用了,感兴趣的同学自行发觉更多有趣玩法吧。

大家可以看到配对的括号是相同的颜色,并且当我选中一个括号以后,会出现一条线帮你找到它对应的另一半括号。

Highlight Matching Tag 这也是一个找对象的插件,找的是标签的对象,看我上一个插件的演示图片中,当我点击一下 html 标签,配对的标签就会出现下划线来指示你谁和谁是一对。

Chinese 让你的 vscode 变成中文,像我这种英语弱鸡才会用,大佬们略过。为什么要放在优化外观的分类里,因为我觉得中文比英文好看🧐🧐,安装完重启就行了。

Color Highlight

看名字就知道了,用于给我们代码中的颜色进行高亮展示的插件。可以看到下图中我设置的 css 颜色属性,直观的展示了出来。

Community Material Theme / Material Theme

修改编辑器的主题,内置很多种,我用的是 Material Theme Palenight High Contrast 这一款。安装完了以后点击 设置颜色主题 就可以了。

Material Theme Icons

设置文件图标的,这个插件的长这个样子,还有很多其它修改文件图标的插件,不喜欢这一款的,大家可以自行找一找。

Error Gutters

报错的地方都有大红波浪线提示,可以说是非常的直观了。

Image preview

预览代码中图片的引用,鼠标移上去就会有小窗展示图片。

indent-rainbow

看名字就知道了,彩虹缩进,就是把代码不同的缩进展示不同的颜色。

Indenticator

当你点击一个缩进部分的时候,会出现一条白线来告诉你当前处于的缩进层级,可以更方便的查看代码结构。

Trailing Spaces

把尾随空格显示出来。

VSCode Great Icons

另一个修改文件图标的插件,我用的就是这个,相对于 Material Theme Icons 我更喜欢这个的风格,萝卜青菜可有所爱,大家各取所需。

编辑器自身的功能还是有限的,为了应付日常开发,不得不安装很多其他的软件进行辅助,不过也可以通过插件的方式引入一些常用的辅助软件,它们的功能可能没有原生的强大,但是基本上已经够用,并且是真的很方便。

AZ AL Dev Tools/AL Code Outline

用来梳理代码结构的插件,安装完后在文件图标里就会多出一个 AL OUTLINE 的选项。

为了演示我找了一个比较长,比较典型的 vue 文件,请忽略我的代码内容,专注于插件的功能🤣🤣, 可以看到展开第一层是极具 vue 单文件组件特点的 templatescriptstyle。逐层展开就可以看到 dom 节点, methods 里面定义的函数等,然后点击就可以快速定位到目标所在位置,妈妈再也不用担心我全局搜啦!

注:它这个里面好像是默认展开的,应该是可以设置是否默认展开,但我没研究过,感兴趣的大佬可以深入调查一下。

Code Runner

运行代码,可以在编辑器中查看结果,前端同学可以在控制台看 console.log ,还有很多其他玩法,具体使用参考此篇文章

CodeIf

在网上看到一句话,在计算机科学中只有两件难事:缓存失效和命名 。哈哈哈,确实如此,当开发项目时,命名一直都是一种让人痛苦的事情。但是命名又是开发过程中一项非常重要的事情,一个好的函数命名,能够让你瞬间明白它实现的功能,所以,每当开发过程中遇到要命名的变量、函数、类时就要冥思苦想,各种翻译。但是,CodeIf 的出现让这个问题迎刃而解,它通过搜索 GitHub, Bitbucket, GitLab 来找到真实的使用变量名,为你提供一些高频使用的词汇。使用时只需要选中变量名,然后 右键 选择 CodeIf 就可以跳转到网页,显示候选命名。

Color Info

查看颜色详细信息的插件,可以小窗口显示颜色值,rgb,hsl,cmyk,hex等等,可以在配置项里添加要展示的信息类型。

Code Spell Checker

检查代码中单词拼写是否正确,当单词不正常的时候,就会在下方出现波浪线进行提示,还可以自定义词典,忽略某个单词的检查等,更多用法参考下面链接。

Debugger for Chrome 这款插件是专门为前端调试开发的,很方便调试,跟谷歌的控制台是一样的功能,安装以后,无需打开浏览器的控制台就能进行断点调试。对应的还有 Debugger for FirefoxDebugger for Microsoft Edge等,其他的我没用过,大家按需安装即可,使用方法应该都大同小异。

安装完以后,左边会出现一个调试的小图标,打开以后再点击上方小齿轮进行配置。根目录下会自动新建 .vscode 文件夹以及 launch.json 文件,不用管。

配置文件的具体内容和使用方法可以看这一篇,很详细。

Git History

右键单击文件选择 Git:View File History 来以列表的形式查看所有的提交记录。

GitLens — Git supercharged 这个也是跟 git 相关的插件,功能比上一个要强大一些。上一个插件的演示图片中可以看到我的每一行代码都有上一次 git 提交的记录,那就是这个插件的功劳。还有其他很多的操作,详情查阅下方链接。

LeetCode

可以在 vscode 中刷算法题的。我自己没用过😣😣

Local History

这个就很强了,本地代码的修改记录。通常我们写错代码了可以撤销,但是撤销完以后再修改,想要取消撤销就难了。有了这个插件直接看代码的修改记录。还可以跟当前版本进行对比,神器。安装完以后,项目根目录下会自动生成 .history 的文件夹。代码的修改记录就会放在这里面。记得添加.gitignore,不然每次提交代码的时候就要遭重了。

open in browser 在浏览器中打开 html 文件。

安装完以后在目标的 html 文件上右击,选择 open in default browser 即可打开使用浏览器打开文件。

Partial Diff

文件比较界的大拿肯定是 Beyond Compare 了,但是它是收费的!那么 Partial Diff 这款神奇的插件就成为了良好的替代品,选中一代码,右键 Select Text for Compare ,选中另外一部分代码,右键Compare Text with Previous Selection即可。我的是中文的,就更明显了🤣🤣

Postcode Postman 都听说过吧,这个插件就基本上可以理解为,在 vscode 里面使用 postman 。

安装完以后左侧菜单会出现一个 小盒子 的图标,点开以后点击 Create Request 就可以正常使用了。

Project Manager

项目管理器,适用于经常切换项目的大佬,虽然我平时接触的项目也不多,不过自己搞着玩的工程也不少。有了这个插件,就不用新窗口打开项目了。安装完以后左侧列表会出现一个 文件夹 的小图标,点开以后就可以进行项目管理了,通常都是操作projects.json 这个文件,点击项目名字就可以切换了,也可以新窗口打开。

Quokka.js

实时显示代码的运行结果,使用方法请跳转链接

如何达到极致的编码效率,当然是能不手写则不手写。下面这些插件就是辅助大家进行一些自动化,这样就可以节省下很多的时间用来摸鱼了。

Auto Import

Typescript 自动导入,其实现在很多的插件基本都内置了这种功能,已经不是必须品了。可能是因为我装了各种奇奇怪怪的插件,我现在想导入什么东西的时候,一大堆的提示,随便选一个都能导进来😂

Auto Rename Tag 自动修改标签名,重命名一个开始标签时,自动重命名配对的结束标签。

一下子就对应的全修改掉了,是不是很 nice。

change-case

快速切换变量格式,什么大坨峰,小驼峰,下划线等等,它里面有很多类型。使用方法按 F1(windows) ,输入对应命令即可。

CSS Peek 可以通过点击类名迅速定位到样式的定义。不知道是不是我自己的原因,有的时候会失效,需要点击 禁用 ,再点击 启用 就好使了。具体使用方法参考链接

ECMAScript Quotes Transformer 用于 模板字符串普通字符串拼接 的相互转化,但其实我日常开发基本上都是统一使用模板字符串的,很少有这种互相转化的需求。

用法也是非常简单,选中需要转化的行,按 f1 输入命令即可,一般输入 esq 就出现提示了。

embrace 快速的在选中代码两边添加各种引号、括号,不用来回移动光标,不过好像现在市面上的编辑器大多都内置这功能了吧🤨🤨

File Utils

创建,复制,移动,重命名,删除文件和目录的便捷方法,演示图片来自官网。

javascript console utils

前端人员的调试少不了 console.log ,那么这就是一款快速生成 console.log 的插件。使用方法非常简单, 选中变量,然后按 ctrl + shift + L 就可以生成了。需要删除的时候按 ctrl + shift + D 即可删除。

json2ts

自动把 json 格式转成 ts 的类型,复制 json 之后按 ctrl + alt + v 即可。

koroFileHeader

自动添加 头部注释函数注释 的插件。支持自定义内容,需要在 settings.json 中进行自定义配置。

"fileheader.customMade": {"Author": "一尾流莺","Description": "","Date": "Do not edit","LastEditTime": "Do not edit","FilePath": "" },"fileheader.cursorMode": {"description": "","param": "","return": "" },

Mithril Emmet

快速生成代码结构,不过好像新版本 vscode 已经内置了。

Path Intellisense

引入文件的时候,路径自动补全。

Npm Intellisense

导入 npm 包的时候,智能提示。

px to rem & rpx (cssrem) 自动换算单位的插件。

很简单,出现提示以后回车即可。

Turbo Console Log

另一个用来生成 console.log 的插件,不同的是,他支持自定义 console.log 的内容,包括文件名,路径,大小等,还可以添加自己喜欢的 emoji 表情,快捷键 ctrl + alt + L。

代码片段类插件 这一类的插件都很多,但功能都是提供代码片段,作用就是使用几个字符的简写,就可以敲出整段代码。

JavaScript (ES6) code snippetsJest SnippetsHTML SnippetsVue VSCode SnippetsVue 3 Snippets... ...

Beautify

用来代码格式化的,但是我好像安装了没怎么用,我一直都是 eslint + prettier,有正在用的小伙伴可以在评论区发表一下看法,感兴趣的请自己搜索使用方法。

ESLint 这个就不用说了吧,代码检查,不符合规范的就会跟你报错,或者警告。具体的规范需要在根目录下新建 .eslintrc.js 文件去配置,也可以用很多大公司现有的规范,太复杂了就不细讲了,贴出教程链接。

Prettier - Code formatter 代码格式化插件,这个插件通常搭配 eslint 使用,也可以单独使用。

在根目录下新建 .prettierrc.json 文件,在里面书写自己想要的格式就行了。更具体的配置内容查看链接

vetur / volar

使用 vue 进行开发的小伙伴都少不了跟它们打交道,volar 是跟 vue3 更配的,功能也能多,由于这两个插件功能过于庞大,就不展开讲了,感兴趣的自行搜索使用。除了功能性插件,当然还有很多花里胡哨的玩意。下面给大家介绍几款可能对开发影响不大,但是非常好玩的插件。小霸王 还记得小时候玩的手柄游戏吗?大佬已经给我们出了插件了,不过我还是要友情提醒一句:游戏有风险,摸鱼需谨慎!

操作非常简单,安装完左侧会出现游戏手柄图标,点击打开就可以下载游戏进行玩耍。

Emoji

在代码中添加 emoji 表情,我自己除了写一些注释,console.log 之外,基本没有别的作用,但是挺好玩的,别人看你的代码中各种小表情,也会觉得你是一个可爱的人吧。它的官方示例里面还可以把 emoji 设为变量名,我可不建议你们这样做。使用方法也是非常的简单,按 f1(windows) 输入 emoji ,可以看到有三个选项,分别是 emoji 表情,markdown 下的 emoji,还有 unicode 下的 emoji。选中一个模式回车进入列表,再回车就可以输入到代码中了。

Settings Sync

可以同步 vscode 配置的插件,由于我没有换过电脑,所以还没亲测,但是网上用的人还是蛮多的。

作者:一尾流莺

链接:https://juejin.cn/post/6994327298740600839

罗克韦尔(AB)PLC讲解,创建一个新的“Add On指令”

创建一个新的指令的工作流程包括:

• 预先设计或技术规格-一个小计划将促使长久的发展。

• 创建指令框架-选择指令逻辑的语言,预/后扫描行为,版本选择等等。

• 指令的固定标签结构-参数与本地标签。很显然,此处做的选择在不同语言环境下会影响外观、条件和验证要求。

在本次实验中,创建一个常规目的指令来模拟一个带有变量滞后和时间常数的连续过程(适用于一阶滞后)。

输入为: 信号输入(浮点型,固有单位) 滞后时间(浮点型,秒)

时间常数(浮点型,秒)

输出为: 信号输出(浮点型,固有单位)

1、在下拉菜单中,右键单击‘Add-On Instructions’文件夹,然后选择‘New Add-On Instruction …’。

2. 完成所示的Add-On 指令对话框。

值得注意的是一个Add-On指令能够用以下任何一种语言来编写:梯形图、功能块或结构化文本。

3. 单击OK 完成。

4. 许多新条目出现在控制器项目管理器中。

5. 右击新创建的Add-On指令:‘Simulation_DT_1st ’,然后在下拉菜单中选择‘Open Definition ’。

6.现在‘Add-On Instruction Definition’编辑器应该可以使用。

• ‘General’选项卡包括所有在指令创建时首先要输入的条目。

• 以‘Revision Note’为形式的版本信息,其形式自由并且能由用户单独更新和强制,没有版本自动跟踪机制。

• 窗口底部有许多用户经常使用的条目。‘Logic’按键可以立即打开该指令的逻辑例程。

• ‘Data Type Size’记录了指令数据所使用的内存数量(以字节为单位)。

7. 单击参数选项卡,查看指令中的参数。

通过任务的详述说明,以下为我们所知一定包含在定义中的参数。

每个Add-On指令中‘EnableIn’和‘EnableOut’参数是预先确定而且为缺省值。‘EnableIn’由每种语言环境的特定因素决定,而且可以被用作特殊功能。这是一个高级主题,超出了本实验范围。‘EnableOut’通常与‘EnableIn’的状态保持一致,但是也可以由用户编程控制参数。

‘Parameters’选项卡是与该Add-On指令相关的标签数据库编辑器窗口,并包括一些已定义的特定字段:Usage、Alias For 、Default、Style 、Req、Vis、Description、External Access、Constant。

‘Usage’允许用户指定参数为: ‘Input’指令的输入参数(支持基本数据类型) ‘Output’ 指令的输出参数(支持基本数据类型)

‘InOut’通过‘按参考方式’传递到指令的参数(任何数据类型包括用户自定义结构类型、数组等等)

‘Alias For’ 允许用户将该参数定义为本AOI的某local tag(或其下一级tag)的别名参数。可以通过下拉菜单进行选择。只有‘Input’和‘Output’类型的参数才可定义别名。

‘Default’允许用户为相关参数指定缺省值。这个数值是指令首次创建时指令调用实例标签的参数值。‘Style’设定参数的显示格式,如二进制、八进制、十进制、十六进制、日期/时间、指数、浮点数。

‘Req’-当在例程中使用指令实例时,点选‘Required’复选框的参数将强制用户输入一个标签或者对这个参数进行一个功能块连接。该修改符定义了本编程语言的校验行为。缺省情况下,‘Required’参数也是‘Visible’的。

‘Vis’-当在例程中使用指令时,点选‘Visible’复选框的参数将可见。因为修改符的使用,导致了一些取决于指令示例中使用的数据类型和语言(LD、FB、ST)的结果不同。

‘Description’字段很重要,因为在此处使用的任何信息都将会‘传递’到用户程序的任何一个指令实例中。这种‘自身文档’可用于描述指令的使用情况、单位等等。不超过512个字符。

‘External Access’设定外部设备(如人机界面)访问该参数的权限。有三种不同的权限:Read/Write(可读写)、Read Only(只读)、None(不可访问)。

‘Constant’设置该参数是否为常数。如果选择了该项,则可避免参数值被AOI外部逻辑修改,但AOI内部逻辑可以修改该参数值。

用户可以隐藏或显示某列,(在该列标题行点击鼠标右键,根据出现的菜单操作)。

8.从任务规范中可以看出,下列是必须包含在定义中的参数: 输入:

• Name:SimInput

• Usage:输入参数

• Data Type:实型

• Default:0.0

• Required*(选择)

• Visible(选择)

• Description:仿真输入

• External Access:读/写

* 这个参数是‘Required’,因为仿真必须要有输入。默认情况下,‘Visible’随‘Required’变化而变化。另外,External Access设为读/写,这意味着外部设备(如人机界面)可以读且可以改写该参数。

• Name:SimDeadtime

• Usage:输入参数

• Data Type:实型

• Default:0.0

• Not Required* (不选择)

• Not Visible (不选择)

• Description: 停滞秒数

• External Access:读/写

* 这个参数被认为是可选参数并且默认情况为不是‘Required’或‘Visible’,但是仍然可以访问或者被用户操控。

• Name: SimTimeConstant

• Usage:输入参数

• Data Type : 实型

• Default:1.0

• Not Required* (不选择)

• Visible (选择)

• Description:时间常数(秒)

• External Access:读/写

* 这个参数被认为是可选参数并且为不是‘Required’,但是为了用户输入它应该为‘Visible’。

此指令的输出:

• Name:SimOutput

• Usage:输出参数

• Data Type: 实型

• Default:0.0

• Not Required (不选择)

• Visible* (选择)

• Description:仿真输出

• External Access:只读

* * 对于用户连接来说,输出应该为‘Visible’,但是不选择‘Required’(它可以直接通过标签数据库访问)。另外,External Access设为只读,这意味着外部设备(如人机界面)只能读该参数,而无法更改该参数值。如果External Access设为‘None’,则外部设备看不到该参数。

9. 在定义参数表中输入这些参数和规范。

‘Signature’选项卡允许用户设置对AOI进行封装和签名,以防他人更改。该选项卡还显示签名历史记录。

10. 单击Apply 完成修改。

11.单击一次Logic 按键打开空白的功能块例程(这是控制器项目管理器的Add-On指令文件夹中命名为‘Logic’ 的例程)。

Add-On指令中的‘Logic’例程与其他语言类型的例程一样,只是功能块额外在右上角(更多在其后)带有‘Data Context’下拉菜单。

在‘Logic’中编写逻辑遵循相同规则和约定,就好像在控制器中的任何地方编写一个标准例程。

该指令的仿真逻辑会包括FB DeadTime Block(DEDT)和一个FB LeadLag Block(LDLG)

12. 将DEDT和LDLG功能块加入到这页上。

结果如下:

13. 双击DEDT 功能块上的问号然后输入DA1 ,点Enter 完成。

14. 右击‘DA1 ’,然后从下拉菜单中选择‘New ParameterDA1 ’…’。

15. 完成‘Parameter/Local Tag Prosperities ’对话框如下:

16. 单击OK 完成。

InOut ’是为指令指定该数据‘按参考方式’进行传递。这就等同于将‘数据的指针’传到指令,代替传递‘数据的数值’。这是使用数组、预定义结构体或UDT作为Add-On指令输入的合适方式。‘InOut ’参数将在‘使用新的指令’部分进一步讨论。

17.打开DEDT的属性,选择‘Parameters’选项卡显示DEDT功能块的‘Dead Time’输入参数和‘DeadtimeInv’ 输出参数并‘点选’那些参数的可见性。

18. 单击ApplyOK 完成修改。

19.打开LDLG功能块的属性,显示‘Lag’参数,然后‘点选’参数的可见性。

20. 单击ApplyOK 完成更改。

21. 在此页上放置3个输入参考(IREF)。

22. 连接如下:

• DEDT.In

• DEDT.Deadtime

• LDLG..Lag

显示如下:

23. 将DEDT.Out连接到LDLG..In

24. 双击第一个IREF然后输入‘SimInput ’,既可以直接键入,也可以下拉选择标签。

25. 重复先前步骤,将输入参数‘SimDeadtime ’放置到第二个IREF。

26.再次重复,将输入参数‘SimTimeConstant ’放置到第三个IREF。逻辑应该如下所示:

27. 在此页上放置一个输出参考(OREF)。

28. 将它连到LDLG..Out上

29. 双击输出参考(OREF),然后键入‘SimOutput’(输出参数是以前定义的)。

考虑到FB滞后时间功能块(DEDT)的特性,输入的定时/延时时间值很可能使得100个元素数组不够用,所以,比较适合的做法是,把相关的错误信息位(DEDT_01.DeadtimeInv)作为一个输出参数,这样就能够在指令外部监视此错误状况。

30. 在本页上放置另一个输出参考(OREF)并将其连到DEDT.DeadtimeInv上。

31. 双击一个新的输出参考(OREF)然后键入‘SimDTInv’。单击Enter 接受。

32. 右击‘SimDTInv’,然后从下拉菜单中选择‘New Parameter‘SimDTInv…’。

33. 完成的‘New Parameter’对话框显示如下:

34.单击OK 完成。

通过这种方式,可以在逻辑编辑器中创建新参数,这与在定义参数中创建它们一样容易。逻辑定义应该如下所示:

35. 关闭‘Logic’例程。

36. 如果在屏幕上还没有存在,右击控制器项目管理器中的Add-On指令 ‘Simulation_DT_1st’,打开AOI定义,然后从下拉菜单中选择‘Open Definition’。

37. 单击Parameters 选项卡查看指令中的参数。

38.单击Local Tags 选项卡:

确切地说,Local Tags是指令自己本身使用的标签,而不是用户使用的标签。因此,当指令在例程中使用时,这些Local Tags标签在数据结构中是不可见的。典型的使用是作为AOI的内部标签或者作为一些操作的中间变量使用。这些标签只在指令内部可见。

注意,功能块标签创建时默认为Local Tags。通常,支持标签(backing tag)不作为参数来使用,而作为内部标签。这对于任何一个包含标签结构的指令都是适用的,如:定时器、计数器、功能块、嵌套的AOI等等。

使用内部的指令帮助文件

1. 单击Help 选项卡:

Help ’选项卡包含了指令帮助预览,它由用户提供的信息自动产生等。

2. 下拉滚动条找到‘Available Languages’部分。

这部分显示了每种可用的语言(RLL、FB和ST)中指令的默认外观。

3. 继续下拉滚动条,可见显示所有指令参数、用法、类型和修改符的表格。

再下面是可选的‘Extended Description’,它是在选项卡最顶部‘Extended Description’字段中由用户定义的更详细的使用说明,以及指令修改的历史记录。修改的历史记录会跟踪上次编辑日期以及指令的创建时间。

这就是当访问RSLogix5000指令帮助时,指令‘Help’的显示外观。

4. 关闭AOI定义编辑器窗口。

5.校验整个控制器程序。

应该校验控制器程序保证没有任何问题。如果接收到一个错误,询问指导教师查出项目哪里出错了。

目前为止,我们已经开始了一个新的RSLogix 5000工程并创建了一个Add-On指令,键入了必须的参数和将执行的逻辑。我们还没有真正地使用它。这即将在下一步。

使用新的指令

新的指令可以在梯形图逻辑、功能块或结构化文本语言(包括SFC Action中的结构化文本语言)中使用。指令的可见性遵循所处环境。在‘Parameter’定义中的参数属性中选择每种语言的输入、校验和可见性行为。

以前在功能块语言中创建的Add-On指令能够使用在任何标准指令编辑器中。

指令工具栏有一个‘Add-On’选项卡,上面列写了全部的当前程序中可利用的Add-On指令。

梯形图逻辑实例

1. 打开‘MainTask ’中‘MainProgram ’的‘MainRoutine ’(默认情况下,这是一个梯形图逻辑例程)。

2. 在一个空的梯级上单击指令工具栏上Add-On选项卡中的Simulation按键,放置一个‘Simulation_DT_1st’指令。

后面带一个问号(?)的参数需要键入一个标签名。如下:

• Simulation_DT_1st

类型为‘Simulation_DT_1st’的标签作为这个指令中不可重名的数据实例。这个非常像TON指令中提及的定时器结构体。

• SimInput 需要一个实型标签作为输入参数。

• DA1 需要一个实型数组暂存中间数据,数组至少有100个元素。

后面带有双问号(??)的参数填写的是标签值。这些字段显示那些参数的当前值。

3.双击第一个问号(?),然后键入‘LDsim1 ’作为指令的参数。单击Enter 完成。

4. 右击 ‘LDsim1’ 条目,然后选择‘New“LDsim1”…’。

5. 完成‘New Tag’对话框如下。

6. 单击【OK】完成。

7. 在指令中键入另外两个标签并创建它们。

SimInput

• Name: RealValue1

• Type:Base

• Data Type: 实型

• Scope:MainProgram

DA1

• Name:deadarray1

• Type:Base

• Data Type:实型[100]

• Scope: MainProgram

8.校验RLL例程:

RLL例程如下:

9. 回顾之前指令定义中创建的参数选项卡信息如下:

‘Visible’参数值显示在指令上。‘InOut’例外。

在梯形图逻辑中,一个布尔型的输出参数指定为‘Visible’(而不是‘Required’)在指令上会表现为‘位类型’引脚。这与‘SimDTInv’输出参数的例子一样。

‘Required’参数需要用户在指令校验前键入一个符合这个参数的正确标签变量。

?考虑‘SimDeadTime’参数。利用以下的RLL MOV指令(或一些相似一个数值。

10.单击属性按钮 ,查看指令的参数。

在这里

注意RLL指令中的可见性不能改变时,‘Visibility’列不起作用。

* 在指令定义中作为‘本地标签’创建的标签在哪?

11.按以下信息修改‘SimDeadtime ’和‘SimTimeConstant ’参数值:

12.单击ApplyOK 完成更改

功能块实例

1. 在‘MainProgram’下创建一个名为‘FB1’功能块例程。

2. 打开‘FB1’功能块例程,显示例程编程域。

3. 单击Logix5000工具栏上的Add-On选项卡,在功能块编程域内放置一个‘Simulation_DT_1st ’指令。

与参数相关的引脚已经在指令定义中指定为‘Visible’,默认情况下在指令中可见。

指令的数据标签‘Simulation_DT_1st_01’已经创建完成。这与任何一个在功能块语言环境下创建的指令一致。

4。 双击DA1对应的问号(?)并键入‘deadarray2’。按Enter完成。

5.右击刚才创建的 ‘deadarray2 ’ 条目,然后选择‘New “deadarray2”…’

6. 完成‘New Tag ’对话框如下,注意Data Type

7. 单击OK 完成。

8.此时校验例程。

9. 注意报告的错误信息:

在指令定义中,‘SimInput’指定为‘Required’参数。在功能块语言环境下,同样要求连接另一个功能块。观察‘SimInput’参数的引脚。

输入引脚末端的‘结点’指示该参数需要连接到其他功能块。直到所有的‘required’参数都有连接(要求的输入和输出类似),该指令才会校验无误。

10. 在页面上放置一个输入参考(IREF),然后将它与‘SimInput ’连接在一起。

11. 双击IREF,然后键入RealValue1 (这个输入标签与在RLL部分使用过的标签一样)。按Enter 完成。

12.校验例程(这时例程应该显示无误)。

13.单击属性按钮,显示指令参数。

注意‘Visible’列生效。这个适合功能块语言环境,在此环境下,可以增加可选参数的功能性。

14. 按以下信息修改‘SimDeadtime’和‘SimTimeConstant’参数的值。

15.单击ApplyOK 完成更改。

结构化文本实例

1. 在‘MainProgram’下创建一个新的名为‘ST1’的结构化文本例程。

2. 打开‘ST1’结构化文本例程显示编程域。

3. 从指令工具栏、插入/选择或只是简单的键入, 添加一个‘Simulation_DT_1st’指令。

工具提示框显示了指令中所必需的参数,以实现校验无误。注意只有指令的支持标签(backing tag)和在定义中指定为‘Required’的参数是唯一在结构化文本执行过程中出现的。

4. 右击‘Simulation_DT_1st’,然后从下拉菜单中选择‘Argument List…’。

5. 按如下变量完成‘Argument List’。

6.单击Apply和OK完成更改。

7.完成带有如下标签的结构化文本指令。在标签上右击,然后选择‘NewTag’创建标签。

• Name: stsim1

• Type: 基本型

• Data Type:Simulation_DT_1st

• Scope:MainProgram

• Name: RealValue1 *‘RealValue1’ 已经存在了。

• Type: Base

• Data Type:实型

• Scope:MainProgram

• Name: deadarray3

• Type:Base

• Data Type:实型[100]

• Scope:MainProgram

* 在每行的末端使用分号终止结构化文本。

若要直接修改支持标签(backing tag)值,则必须通过指令属性或标签数据库视图完成。

8.校验ST例程。

9. 右击指令,然后在下拉菜单中选择‘Prosperities’。

10. 在指令属性选项卡中,修改‘SimDeadtime’和‘SimTimeConstant’的参数如下:

11. 单击ApplyOK 完成更改。

正如上三部分所示,在Add-On指令设计阶段,参数的VisibleRequired 修改符的使用必须要考虑在其中。语言类型应该总在考虑范围之内。

相关问答

wps公式编辑器怎样设置字体大小-ZOL问答

就可以在FontStyle一栏中设置你喜欢字体的Font和Size了。有用(0)回复展开查...proface触摸屏肿么和三菱的PLC穿越通讯?1万浏览3回答要移动WORD中表格中...

英语翻译DonJulioTequilaisnamedafteritsfounder,DonJulioGo...

[回答]唐-胡里奥龙舌兰酒(DonJulioTequila)是以它的创始人唐-胡里奥•冈萨雷斯-富罗斯多•埃斯特拉达(DonJulioGonzález-FraustoEstrada)的名字命名...

周琦首秀惊艳(2024已更新(微博/知乎)

NordeaBankFinlandPlc7.7mlnEurosandPohjolaBankPlc2.3mlnEuros.3、党的二十大就新时代新征程党和国家事业发展制定了大...

诸位盆友,求解答!顺德性价比高的机械手控制哪家不错,机械...

[回答]display属性可能的值JavaScript控制div的隐藏比如我们有一个id为div1的div元素divid=div1/div隐藏,代码如下document.getElementById(div1...

朋友们!有谁知道:硫化罐的硫化罐简介?,合成橡胶硫化罐评...

[回答]价格的多少不是你的需要,山东众泰同泽机械有限公司的爱才是你的索求!公司长期致力于橡胶硫化设备,复合材料固合成型设备的开发与研究。集设计、制...

家里一台台式电脑,买了路由器另一台笔记本上网,电信的包月,那...

kevinstyle只要是包月的电信不管你接几台电脑收费都不变还是原来那么多一个月...三菱fx3ga的plc和威伦触摸屏232通讯的通讯线怎样做啊6497浏览4回答word对...

 mtv ema  doinb是哪国人 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部