Codesys自定义库的帮助文档的美化

文章目录

  • 1.前言
  • 2.美化的方式
    • 2.1.利用html标签
    • 2.2.利用reStructuredText
  • 3.相关说明
    • 3.1.使用reStructuredText时,中文注释的问题
    • 3.2.将文档需要的图片包含到库中
    • 3.3.文档的作用区域

1.前言

当我们在codesys中写好自己的库,并且发布给别人使用时,别人可以在库管理器中查看到我们库的帮助文档。但是codesys默认帮我们生成的文档,看起来比较简陋:
在这里插入图片描述看一下系统的,他的帮助文档有图、有表格、有代码示例,看起来很好看:
在这里插入图片描述假如我们也想做到这样子,该如何操作呢?

2.美化的方式

关于如何美化,其实官方的帮助文档有提到:【Library Documentation】
在这里插入图片描述

CODESYS users are able to insert HTML tags into the comments of modules for controlling how the appearance is formatted in the library manager…

也就是说,可以通过html标签来实现图片、表格等元素的插入,控制字体的样式等等操作。
但是,同时,他们也提到,利用html标签的话,会破坏源码的易读性,从而不太建议使用html标签:

However, this method is not recommended because it corrupts the legibility of the source code.

官方建议使用reStructuredText。当使用reStructuredText时,貌似还可以调用CODESYS的一些函数来生成结果显示在界面上?
在这里插入图片描述但是有时候html标签还是挺方便的,这里都尝试一下吧。

2.1.利用html标签

关于html标签,可以看一下这里:【html标签】
在这里插入图片描述

经过测试,图片,设置视频都可以插入进去:
源码:
在这里插入图片描述

/// 搞三个斜杆是不是就可以显示在文档中,注意一定要是三个斜杆
/// <h1>这里显示图片</h1>
/// <img src="https://www.w3school.com.cn/i/photo/tulip.jpg" alt="上海鲜花港 - 郁金香" />
/// <h1>video元素</h1>
/// <video width="640" height="360" controls>
///   <source src="https://www.w3school.com.cn/i/video/shanghai.mp4" type="video/mp4">
///   您的浏览器不支持 video 标签。
/// </video>

FUNCTION MyFunction_cext : MyDUT // 返回值可以
VAR_INPUT
	 a : STRING;
	 b : REFERENCE TO STRING; // 可以在C函数中对此变量赋值,注意要使用MEMCPY的方法
	 c : POINTER TO STRING;   // 可以在C函数中对此变量赋值,注意要使用MEMCPY的方法
	 d : REFERENCE TO REAL;
	 i : REFERENCE TO INT;
END_VAR

VAR
END_VAR

效果:
在这里插入图片描述

2.2.利用reStructuredText

reStructuredText的语法稍微复杂一些,请自行找资料学习一下。
这里提供一些资料:【reStructuredText介绍】、 【Quick reStructuredText】
假如使用reStructuredText,需要在工程设置中增加一个定义:
在这里插入图片描述

DocFormat 文本类型 reStructuredText

// 这个没用
// DocLanguages 文本类型 en, de, ch, zh-chs

源码:
在这里插入图片描述

(* 
 * +------------+------------+-----------+
 * | Header 1   | Header 2   | Header 3  |
 * +============+============+===========+
 * | body row 1 | column 2   | column 3  |
 * +------------+------------+-----------+
 * | body row 2 | Cells may span columns.|
 * +------------+------------+-----------+
 * | body row 3 | Cells may  | - Cells   |
 * +------------+ span rows. | - contain |
 * | body row 4 |            | - blocks. |
 * +------------+------------+-----------+
 *
 * 网络图片
 *
 * .. image:: https://www.w3school.com.cn/i/photo/tulip.jpg
 *
 * 工程图片,比较奇怪的是图片路径比实际路径的位置要往前一级,也就是要多一次 ../ 操作
 *
 * .. image:: ../Images/WIN_20231102_14_45_52_Pro.jpg
 * 
 * 这里显示代码
 * ::
 *
 *     (* Example declaration *)          
 *     TONInst : TON ;                    
 *     (* Example in ST *)
 *     TONInst(IN := VarBOOL1, PT:= T#5s);
 *     VarBOOL2 := TONInst.Q;                               
 *)
FUNCTION_BLOCK FINAL MyFB
VAR_INPUT
	a	: BOOL;    (* only support english *)
	b	: STRING;  (* only support english *)
	c	: INT;     (* ---------- *)
END_VAR
VAR_OUTPUT
END_VAR
VAR
END_VAR

效果:
在这里插入图片描述

3.相关说明

3.1.使用reStructuredText时,中文注释的问题

当使用reStructuredText作为文档格式时,结构体、函数、功能块的参数注释不能包含中文,否则inout表格无法显示
在这里插入图片描述我尝试设置了DocLanguages 为ch,一样不行。在官方文档中同一章节找到一篇文章【Documentation in Different Languages】,但是好像讲的是翻译文档的,而不是这个inOut不显示的问题。
希望高手来告诉一下怎么解决。

3.2.将文档需要的图片包含到库中

建立一个文件夹,然后在文件夹处右键,添加对象-》外部文件, 把文件导入进来。记得要勾选【嵌入工程】,否则你的库到了别人的电脑就显示不了图片了。
在这里插入图片描述
在导入后,假如codesys把你的文件的后缀名给去掉了,自己要补上去,否则有些问题。
然后在使用的时候,就通过相对路径来使用这个图片。相对路径有些奇怪,需要注意一下【图片路径比实际路径的位置要往前一级,也就是要多一次 …/ 操作】
在这里插入图片描述

3.3.文档的作用区域

除了函数、功能块这些常用的地方可以通过这些方式生成帮助文档外,有哪些地方可以生成文档呢?
关于这个,官方有介绍,主要有6个位置:【Documentation Areas】

  • Project Information
  • Folder
  • Declaration Header
  • Member Declaration
  • Enums, Structures, GVL’s
  • Actions and Transitions

这些位置写的注释都会在库管理器中的文档显现出来。


参考:
【Library Documentation】
【Documentation Areas】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/433455.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue基本用法

文本插值 {{}} 用来绑定data方法返回的对象属性 v-bind:为标签的属性绑定data方法中返回的属性 事件绑定v-on:xxx 简写为xxx 双向绑定v-model 条件渲染 v-if v-else v-else-if 动态渲染页面元素

数字政府建设中的锐捷力量:五维构建坚实的数字政务基础设施

3月1日,中国信息协会部分地方信息机构负责人会议暨信息服务业助力高质量发展研讨会在深圳成功召开。来自民政部、农业农村部、国家统计局、人民日报社等部委单位,全国省市信息协会、信息中心、大数据局负责人,信息化领域专家学者在内的230多名代表参加了会议。2024年是立足“二…

C# SwinV2 Stable Diffusion 提示词反推 Onnx Demo

目录 介绍 效果 模型信息 项目 代码 下载 C# SwinV2 Stable Diffusion 提示词反推 Onnx Demo 介绍 模型出处github地址&#xff1a;https://github.com/SmilingWolf/SW-CV-ModelZoo 模型下载地址&#xff1a;https://huggingface.co/SmilingWolf/wd-v1-4-swinv2-tagg…

【开源物联网平台】FastBee使用EMQX5.0接入步骤

​&#x1f308; 个人主页&#xff1a;帐篷Li &#x1f525; 系列专栏&#xff1a;FastBee物联网开源项目 &#x1f4aa;&#x1f3fb; 专注于简单&#xff0c;易用&#xff0c;可拓展&#xff0c;低成本商业化的AIOT物联网解决方案 目录 一、将java内置mqtt broker切换成EMQX5…

电商之战:实时监控竞争对手战术,掌握市场先机!

淘宝天猫、拼多多、抖音、小红书等国内平台&#xff0c;甚至包括亚马逊、速卖通等跨境商家&#xff0c;在竞争如此激烈的电商平台&#xff0c;想要脱颖而出&#xff0c;打造店铺的差异化运营&#xff0c;通过对竞争对手甚至选品的监控可以更好地了解市场趋势和变化。 这有助于…

Jmeter正则表达式提取器

伙伴们是否遇到过以下的场景&#xff1a; 响应报文类似下面的这样 我们要使用phrase后面的其中一个值。 使用正则表达式提取后匹配出多少值&#xff0c;提取结果如下&#xff1a; 现在的问题是&#xff0c;如果我们要使用正则表达式提取后的&#xff1a;使用其中的第1个和第1…

前端H5动态背景登录页面(上)

最近一段时间看一些关于前端的东西&#xff0c;下面分享两个非常不错的前端动态背景登陆页面&#xff0c;还有几个等后面有时间了再整理。 1、彩色气泡登录页面 下面是源代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8…

互联网智慧工地源码,“互联网+建筑大数据”SaaS微服务架构,支持PC端、手机端、数据大屏端

智慧工地源码&#xff0c;支持多端展示&#xff08;PC端、手机端、平板端&#xff09;SaaS微服务架构&#xff0c;项目监管端&#xff0c;工地管理端源码 智能时代的风暴已经融入了我们生活的每个方面&#xff0c;智能手机、iPad等移动终端智能设备已经成为我们生活的必需品。智…

[ 云计算 | AWS ] ChatGPT 竞争对手 Claude 3 上线亚马逊云,实测表现超预期

文章目录 一、前言二、Claude 3 介绍以及相关测试细节三、在亚马逊云科技上体验 Claude 33.1 在 Amazon Bedrock 服务中配置 Claude 33.2 为聊天配置使用 Claude 3 模型3.3 Caude 3 Sonet 聊天体验 四、文末总结五、参考文献 一、前言 3月4号&#xff0c;Anthropic 发布了号称…

基于el-tree实现懒加载穿梭条

一、关键代码 <template><div><!-- 左侧待选列表 --><div class"left-box"><p>待选列表</p><el-input placeholder"输入关键词过滤" v-model"leftFilterText" clearable/><el-treeref"tree…

鱼哥赠书活动第12期:《基于React低代码平台开发》

鱼哥赠书活动第12期&#xff1a;《基于React低代码平台开发》 一、React与低代码平台的结合优势二、基于React的低代码平台开发挑战三、基于React的低代码平台开发实践四、未来展望内容简介&#xff1a;作者简介如何阅读&#xff1a;适合阅读人群&#xff1a;赠书抽奖规则:往期…

OpenText™ Migrate 软件, 结构化、可重复的工作负载迁移,停机时间几乎为零

OpenText™ Migrate 允许用户将任何规模和各种复杂度的物理、虚拟和云工作负载轻松地迁移到任何环境&#xff0c;并且停机时间几乎为零。微调自动化有助于协调流程的每个阶段。 为什么选择 OpenText Migrate&#xff1f; 1、满足您所有迁移需求的单一解决方案 OpenText Migra…

SqlServer中连续号及断号查询—附源码

效果如下图所示&#xff1a; SqlServer中连续号及断号查询SQL如下&#xff1a; --1.定义临时表 DECLARE TestTemp TABLE(TestCode NVARCHAR(50),TestNum INT )DECLARE DataTemp TABLE(TestCode NVARCHAR(50),TestNumStr NVARCHAR(100) )--2.插入测试数据 INSERT INTO TestT…

供应链优化:降本增效的核心战略——张驰咨询

在当今这个高度竞争的商业环境中&#xff0c;企业为了保持竞争力&#xff0c;不断寻求降低成本和提升效率的策略变得至关重要。有效的成本控制和效率提升不仅能够增加企业的利润率&#xff0c;还能增强其市场地位和客户满意度。以下是一些实用的策略&#xff0c;旨在帮助企业实…

2024春招面试,2024年阿里Android高级面试题分享

前言 作为一个3-5年的Android工程师&#xff0c;我们经常会遇到这些瓶颈&#xff1a; 1.技术视野窄 长期在小型软件公司&#xff0c;外包公司工作&#xff0c;技术视野被限制的太厉害 2.薪资提升难 初中级Android岗位薪资上升空间有限&#xff0c;基本上你想拿15k以上&#…

android开发教程百度网盘,高并发系统基础篇

展望未来 操作系统 移动操作系统的演变过程&#xff0c;从按键交互的塞班功能机到触摸屏交互的Android/IOS智能机&#xff0c;从小屏幕手机到全面屏、刘海屏、水滴屏。任何系统无非干两件事&#xff1a;输入和输出&#xff0c;接收到外部输入信号后经过操作系统处理后输出信息…

【前端系列】vue

这里写目录标题 一、Vue简介1.1 主流前端框架/库简介 二、下载和安装Vue2.1 下载2.2 安装完成后&#xff0c;检查2.3创建全局安装目录和缓存日志目录2.4 为了下载包快速&#xff0c;改源为淘宝镜像2.5 查看npm配置修改是否成功 三、配置环境变量环境变量—用户变量—选中Path—…

字符指针数组指针的理解

1.字符指针&#xff1a;也就是存放字符地址的指针&#xff08;和整型指针差不多&#xff09; 代码如下&#xff1a; int main() {char ch w;char *pc &ch;*pc w;return 0; } 2.数组指针&#xff1a;也就是指向数组的指针 2.1数组指针如何初始化 int main() {int ar…

学习大数据,所必需的java基础(8)

文章目录 字符缓冲流字符缓冲输出流 _Buffered和Writer字符缓冲输入流字符缓冲流练习 转换流字符编码字符集转换流转换流_OutputStreamWriter序列流和反序列流的介绍序列化流_ObjectOutputStream反序列化_ObjectInputStream不想被序列化操作反序列化时出现的问题以及分析和解决…

低代码平台,面向业务or技术?

低代码开发平台是一种新兴的技术趋势&#xff0c;它为企业提供了快速、高效地开发应用程序的方法。随着数字化转型的加速&#xff0c;越来越多的企业开始关注低代码开发平台&#xff0c;并在实际应用中取得了一定的成果。 作为使用者来说&#xff0c;面对市场上形形色色的低代…