Skip to content
/ CodeSys Public
forked from 18thCentury/CodeSys

import/exports ST to text, burn&login, extract, module dectect, proof and assist-modification

License

Notifications You must be signed in to change notification settings

e71828/CodeSys

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeSys

使用方法:

若想在工具栏使用图标运行 脚本,请参考 executing_scripts_toolbar 和利用相关文件 Script Commands

在 CodeSys 软件内执行脚本。

  1. 菜单执行 run_script.png

export.py:

  1. 选择脚本 sel_script_ex
  2. 选择要导出的代码(目录),留空为整个目录 sel_files_dir
  3. 选择文件夹(导出到) sel_folder_ex
  4. 文件夹非空提示,是否删除其中的文件 tip_export
  5. 结果信息 succ_export

load.py:

  1. 选择脚本 sel_script_im
  2. 选择文件夹(从导入) sel_folder_im
  3. 结果信息 succ_load

脚本说明:

export.py:

  • 将 Codesys 内的 ST 语言的文本代码 和 Global_var, Textlist 和 Task_Configuration, library 备份到 Save_Folder 文件夹。
  • 将指定的文件夹内的 文本代码 备份到 Save_Folder 文件夹,不指定则为工况全部的文本代码。
  • 若导出某个文件夹,则包括其子文件夹。
  • 若 Save_Folder 文件夹 非空,则提示要删除其中文件,但不包括 .git.svn 文件。
  • 如果文件夹内存在 .git 文件,则将文件夹更新到 HEAD 。

load.py:

  • 将上述文件夹内文本代码的导入到当前工程。
  • 设备文件夹/文件导入。

advanced/Burn&Login.py:

  • 一键化编译、另存为、烧录(登录)、开始 RunF5)。
  • 使用该脚本时:先编译当前程序,若有错误直接退出脚本,后续不再执行。
  • 使用该脚本时:当前程序版本信息中的主版本不变、次版本不变、生成号加 1 、修订号不变;同时添加作者信息。
  • 使用该脚本时:当前程序另存为 Burned-on-"%Y%m%d-%H%M%S".project ,删除程序密码;若当前程序已经是 Burned-on-"%Y%m%d-%H%M%S".project ,则不操作另存为,仅修改版本信息。
  • 使用该脚本后:Burned-on-"%Y%m%d-%H%M%S".project 为只读,因为其 released 被设置为 True 。(因为文件的只读属性在云同步时会丢失,所以通过设置 released 保持该文件只读,且可云同步)。
  • 使用该脚本后:Burned-on-"%Y%m%d-%H%M%S".projectDescription 设置为 Only for recording diff between all versions
  • 使用该脚本后:对 Burned-on-"%Y%m%d-%H%M%S".project 自动执行烧录,烧录后自动开始 Run ,即按下 F5

Assistive Intelligence/assist_en.ahk:

  • Require: Codesys 设置语言为 English , 依赖软件 AutoHotkey v2.0
  • 另开文件,适配中文窗口 Assistive Intelligence/assist_chs.ahk:
  • 根据现有规则,自动输入密码,但不点击确认。
  • 打开 project 后,自动关闭 Environment 界面。
  • 绑定热键,在 Codesys 中按下 = 键,输入 :=
  • 绑定热键,在 Codesys 中按下 Alt + = 键,输入 =
  • 绑定热键,在 Codesys 中按下 PgDn 开启碎片化修改提示(已开启则提示下一步),需要事先自己将差异模板化、步骤化。
  • 绑定热键,在 Codesys 中按下 PgUp 提示碎片化修改上一步。
  • 绑定热键,在 Codesys 中按下 Pause 临时关闭碎片化修改提示。
  • 绑定热键,在 Codesys 中连按两下 Pause 重置提示,从第一步开始。
  • 绑定热键,在 Codesys 中按下 ` 若某一个步有细节步骤,则将细节步骤的关键词送至 Ctrl + F,自动点击搜索下一个,若没找到则自动关闭弹窗,若找到将返回界面光标处。
  • 绑定热键,在 Codesys 中按下 ` 若某一个步有多个细节步骤,每次按下则将下一个关键词送至 Ctrl + F,到最后一个细节步骤时再次按下则循环至第一个关键词。

advanced/module_detection.py:

  • 模块检测,依赖文件夹名或文件内的关键词。支持 Codesys 中给出结果。
  • 使用 module_detect.ps1 ,在终端内批量检测并输出结果至 csv

advanced/extract_archive.py:

  • 批量将存档文件解压到指定文件夹。
  • 不支持 Codesys 中运行。
  • 依赖于 extract_archive.ps1 批量运行。

问题:

  • 除ST语言的文本外,其他如: Visu,imagePool, VisuConfiguration, Project Settings, Project Infomation 没有导出.
  • GlobalTextList 会丢失 ID Column 的数据.

致谢:

About

import/exports ST to text, burn&login, extract, module dectect, proof and assist-modification

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 68.4%
  • AutoHotkey 21.5%
  • PowerShell 10.1%