首页 > 其他分享 >WasomCodeX试用-工程文件结构

WasomCodeX试用-工程文件结构

时间:2024-11-19 17:11:39浏览次数:1  
标签:文件 WasomCodeX POU st PROGRAM 试用 iec app resources

官方的Gitee提供了Tutorial程序供下载学习。
打开后,可以看到程序结构。

在这个程序里,可以看到从main主程序到各个FC都写在一个文件里。
同时,通过终端查看下文件目录结构。

/wasomeide_workspace/tutorials/projects/ch05-1$ tree -l
.
├── ams_pack.log
├── build
│   ├── app.tar.gz
│   ├── app.zip
│   ├── debug
│   │   ├── app.bin
│   │   ├── app.layout
│   │   ├── iec.cfg
│   │   ├── iec.io_map
│   │   ├── iec.sn
│   │   └── resources
│   │       └── project.manifest
│   └── release
│       ├── app.bin
│       ├── app.layout
│       ├── iec.cfg
│       ├── iec.io_map
│       ├── iec.sn
│       └── resources
│           └── project.manifest
├── CONFIG
│   ├── build.id
│   ├── global.WAVARS
│   ├── project.IOMAP
│   ├── resources
│   │   └── project.manifest
│   └── resources.WARES
├── MODULES
├── PROGRAM
│   ├── DOUs
│   │   └── User_DataTypes.json
│   ├── POU_FBs
│   ├── POU_FULL_ST
│   ├── POU_FUNCs
│   ├── POU_PRGs
│   │   └── prog_main.st
│   └── SYS_EVENTS
└── README.md

16 directories, 23 files

可以看到,主要就是一个在PROGRAM/POU_PRGs路径下的prog_main.st文件。
我们再查看下这个文件内容:

/wasomeide_workspace/tutorials/projects/ch05-1$ cat PROGRAM/POU_PRGs/prog_main.st 
(* 本APP展示基本变量定义、赋值、使用; 表达式、基本流程语句的用法 *)

PROGRAM PLC_PRG
VAR
    b: BOOL;         (**BOOL类型的变量定义*)
    n: INT := 10;    (*初始化为10*)
    r: REAL := 5.2;
    s: SINT;
    d: ARRAY[0..2] OF DINT;      (*定义长度为3的一维数组*)
END_VAR

    b := convertToBOOL(n);       (*调用函数并将返回值赋给变量b*)
    s := convertToSINT(TO_DINT(r));
    d[0] := getSumWithFor(s);     (*使用for语句实现的函数*)
    d[1] := getSumWithWhile(s);   (*使用while语句实现的函数*)
    d[2] := getSumWithRepeat(s);  (*使用repeat语句实现的函数*)

    WA_LOG('g_iVar1=%d, g_iVar2=%d, g_bVar=%d, g_fVar1=%f, g_sVar=%s', 
        g_iVar1, g_iVar2, TO_INT(g_bVar), g_fVar1, g_sVar);

    g_fVar1 := g_fVar1 + 0.1;
 
END_PROGRAM


(** 使用IF ELSE 语句将INT转换为BOOL *)
FUNCTION convertToBOOL : BOOL
    VAR_INPUT level: INT; END_VAR
    IF level > 10 THEN
        convertToBOOL := TRUE;
    ELSIF level <= 10  THEN
        convertToBOOL := FALSE;
    ELSE
        convertToBOOL := TRUE;
    END_IF;
END_FUNCTION
...

可以看到,st程序的文本就在这个文件里面。
咨询了厂方工程师,被告知FC、FB也可以分多个文件保存。于是,按照该样例程序内容,重新写了一个。

这个程序里,我把FC都拆到了函数栏里,一个个独立开来,可以看到主程序就显得干净很多,看起来和另外几个PLC编程软件类似了。
再看下文件结构:

/wasomeide_workspace/tutorials/projects/Tutorials-1$ tree -l
.
├── ams_pack.log
├── build
│   ├── app.tar.gz
│   ├── app.zip
│   ├── debug
│   │   ├── app.bin
│   │   ├── app.layout
│   │   ├── iec.cfg
│   │   ├── iec.io_map
│   │   ├── iec.sn
│   │   └── resources
│   │       └── project.manifest
│   └── release
│       ├── app.bin
│       ├── app.layout
│       ├── iec.cfg
│       ├── iec.io_map
│       ├── iec.sn
│       └── resources
│           └── project.manifest
├── CONFIG
│   ├── build.id
│   ├── global.WAVARS
│   ├── project.IOMAP
│   ├── resources
│   │   └── project.manifest
│   └── resources.WARES
├── MODULES
└── PROGRAM
    ├── DOUs
    │   └── User_DataTypes.json
    ├── POU_FBs
    ├── POU_FULL_ST
    │   ├── convertToBOOL.st
    │   ├── convertToSINT.st
    │   ├── getSumWithFor.st
    │   ├── getSumWithRepeat.st
    │   ├── getSumWithWhile.st
    │   └── main.st
    ├── POU_FUNCs
    ├── POU_PRGs
    └── SYS_EVENTS

可以看到,在POU_FULL_ST路径下,多了几个st文件,包括出程序main.st以及几个函数。
再看下main.st的内容:

/wasomeide_workspace/tutorials/projects/Tutorials-1$ cat PROGRAM//POU_FULL_ST/main.st 
(* 本APP展示基本变量定义、赋值、使用; 表达式、基本流程语句的用法 *)

PROGRAM PLC_PRG
VAR
    b: BOOL;         (**BOOL类型的变量定义*)
    n: INT := 10;    (*初始化为10*)
    r: REAL := 5.2;
    s: SINT;
    d: ARRAY[0..2] OF DINT;      (*定义长度为3的一维数组*)
END_VAR

    b := convertToBOOL(n);       (*调用函数并将返回值赋给变量b*)
    s := convertToSINT(TO_DINT(r));
    d[0] := getSumWithFor(s);     (*使用for语句实现的函数*)
    d[1] := getSumWithWhile(s);   (*使用while语句实现的函数*)
    d[2] := getSumWithRepeat(s);  (*使用repeat语句实现的函数*)

    WA_LOG('g_iVar1=%d, g_iVar2=%d, g_bVar=%d, g_fVar1=%f, g_sVar=%s', 
        g_iVar1, g_iVar2, TO_INT(g_bVar), g_fVar1, g_sVar);

    g_fVar1 := g_fVar1 + 0.1;
 
END_PROGRAM

可以看到,对应的就是主程序的内容了。

标签:文件,WasomCodeX,POU,st,PROGRAM,试用,iec,app,resources
From: https://www.cnblogs.com/PrepAndPonder/p/18555212

相关文章

  • Mit6.S081笔记Lab10: mmap 文件内存映射
    课程地址:https://pdos.csail.mit.edu/6.S081/2020/schedule.htmlLab地址:https://pdos.csail.mit.edu/6.S081/2020/labs/mmap.html我的代码地址:https://github.com/Amroning/MIT6.S081/tree/mmapxv6手册:https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf相关翻......
  • ReNamer Pro 7.5 中文绿色便携专业版-文件重命名工具
    前言我们日常生活和工作中所涉及的文件数量日益增多。无论是图片、音频、视频还是各种文档,这些文件在存储、管理和分享时,都需要有一个清晰、有序的文件命名规则。然而,手动重命名大量文件不仅耗时耗力,而且容易出错,这对于追求效率和准确性的现代生活来说显然是不现实的今天介绍的......
  • linux学习day02_linux文件权限以及目录配置
    1、文件拥有者:文件的主人  群组:文件的共享者组成的集合    其他人:others 在我们Linux系统当中,默认的情况下,所有的系统上的帐号与一般身份使用者,还有那个root的相关信息,都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录在/etc/shadow这个文件下。此......
  • git拉取大文件失败
      root@ubuntux86:#gitsubmoduleupdate--init--recursiveCloninginto'/work/VisionFive2/buildroot'...fatal:theremoteendhungupunexpectedlyfatal:earlyEOFfatal:index-packfailedfatal:cloneof'https://github.com/starfive-te......
  • MSHTA(Microsoft HTML Application Host)是一个 Microsoft Windows 系统中用于执行 .hta
    MSHTA(MicrosoftHTMLApplicationHost)是一个MicrosoftWindows系统中用于执行.hta(HTML应用程序)文件的程序。它的全名是MicrosoftHTMLApplicationHost,是一个执行HTML应用程序的可执行文件。.hta文件是一种包含HTML、CSS和JavaScript的文件,它可以像传统的桌面应用程......
  • 移动端Vue2实现文件图片上传功能
    基于Vue2 +Vant2组件库实现:废话不多说,直接看代码:主要代码:methods:{//上传图片之前的操作beforeRead(file){letarr=file.name.split('.');letfileType='.'+arr[arr.length-1].toLowerCase();con......
  • 使用mvn 将 pom文件推送到私服
    1.业务场景现在我有一个*.pom文件需要上传到私服。比如spring-cloud-dependencies-2021.0.9.pom这个时候可以使用命令将这个文件传到私服。2.上传脚本使用mvn的deploy:deploy-file命令上传。mvn-sD:/mvn/settings_new.xmldeploy:deploy-file-Durl=http://host:......
  • 操作系统第十章课后习题:文件系统
    文章目录单项选择题解答(1)文件系统中,文件访问控制信息存储的合理位置是。(2)文件的逻辑记录的大小是。(3)下列关于管道(pipe)通信的叙述中,正确的是。(4)同一个文件存储在不同的存储介质上,其组织形式。(5)下列文件物理结构中,适合随机访问且易于文件扩展的是。(6)为支持CD-ROM中视频文件......
  • WasomCodeX试用---Ubuntu20.04系统
    安装WasomeIDE下载安装包并解压可获得如下文件内容:/WasomeIDE$lscode_amd64.debiecc.img.tarinstall.shwebide.vsixheadersinstall_docker.shmoduleswebview-toolkit-ui.tar执行install.sh文件如果系统未安装vscode,则在执行install.sh时会......
  • Windows修改新建.txt文件名
    前言全局说明Windows修改新建.txt文件名一、说明环境:Windows11家庭版23H222631.3737Windows7旗舰版二、Windows7修改2.1打开注册表,找到AAF68885HKEY_CLASSES_ROOT\LocalSettings\MuiCache\xxx\AAF68885xxx是一个可变的数,每台机器不同,找到AAF68885就......