GrafcetMaker
打开编辑器

文件、保存和导出

一切都在您的计算机上进行:无需账户,不上传任何内容。

自动保存和恢复

每次更改都会在您做出后半秒内保存在浏览器中。您可以随时重新加载或关闭标签页,不会被询问:下次打开 GrafcetMaker 时,项目会恢复到您离开时的样子,包括未保存的更改。项目名称旁边的圆点 ● 表示有尚未保存到文件的更改。

文件 › 本地历史 列出保存在浏览器中的快照:在您保存时、编辑期间每隔几分钟以及关闭项目之前创建。恢复某个快照时,它会作为未保存的更改打开。

重要:浏览器存储属于这台计算机上的这个浏览器,清除网站数据会将其删除。任何想保留的内容都请保存到文件。

离线和安装

首次访问后,GrafcetMaker 无需网络即可工作。使用浏览器地址栏中的安装按钮,可将其作为拥有独立窗口的应用安装。新版本就绪时,角落中的卡片会提示重新加载:您的工作会被保留。

保存和打开

  • 保存(Ctrl+S)将项目写入 .grafcet.json 文件。在 Chrome 和 Edge 中,它每次都写回同一个文件;在其他浏览器中,它会下载该文件。
  • 另存为(Ctrl+Shift+S)选择一个新文件。文件 › 下载副本 会下载一份副本,而不改变“保存”写入的位置。
  • 打开(Ctrl+O)、文件 › 最近打开,或将 .grafcet.json 文件拖放到窗口的任意位置。如果打开的项目有未保存的更改,会先询问您;无效的文件会被拒绝并附上说明,不会影响您的项目。

.grafcet.json 文件是可读的文本,非常适合版本控制(Git)和代码审查。

grafcet.io 文件(.grafcetio)以相同的方式打开:它们会被转换为一个新项目,每个图表(或每个框架)一个局部 grafcet,变量根据图表所使用的内容创建,并采用整齐的布局。一条消息会列出转换所更改的所有内容。请保存,以将其保留为 GrafcetMaker 项目;原始文件不会被修改。

文件 › 复制分享链接 会复制一个包含整个项目(已压缩)的网址。将它粘贴到聊天、邮件或工单中:打开它的人会得到一份属于自己的项目副本,包含所有 grafcet 和变量,并且可以更改它而不影响您的项目。

  • 项目位于链接内部(# 之后),浏览器永远不会将这部分发送给网页服务器:不会上传任何内容,链接在离线时和内部安装中也能使用。
  • 任何拥有链接的人都可以读取项目,因此请像对待文件本身一样分享它。
  • 链接是一个快照:之后的更改需要新的链接。
  • 小型图表的链接只有一两千个字符。如果 GrafcetMaker 警告链接很长,某些聊天和邮件应用可能会截断它;请改为发送 .grafcet.json 文件。
  • 打开链接与打开文件一样:如果您的项目有未保存的更改,会先询问您;损坏的链接会被拒绝并附上说明,不会影响您的项目。

来自 AI 助手的图表

ChatGPT 或 Claude 等 AI 助手可以为您绘制图表。请先让它阅读 grafcet.org/ai.txt:其中说明了 GRAFCET 文本(图表的纯文本形式),以及如何生成在此处打开图表的链接。

  • 来自助手的链接 会打开图表并自动布局,替换当前打开的项目(如果项目有未保存的更改,会先询问您)。
  • 文件 › 从文本打开… 打开助手以文本形式编写的图表:粘贴文本并单击打开。无法读取的行会被指出,并说明哪里有错;您可以修正它,或将该消息发回给助手。
  • 文件 › 复制为文本(供 AI 助手使用) 将您的图表复制为 GRAFCET 文本,可粘贴到聊天中,请助手进行修改、解释或审查。

位置不属于文本的一部分:从文本打开的图表会自动布局。

实时共同编辑

文件 › 实时协作…(或右上角的人物按钮)让多人在各自的计算机上同时编辑同一个项目。

  1. 输入您的名字并选择开始实时会话。将出现的链接发送给其他人。
  2. 他们打开链接,输入自己的名字并选择加入。
  3. 每个人都能看到其他人带有名字的指针和所选内容,每次更改都会在片刻之内出现在所有人面前。
  • 更改按字段合并:在某人重命名一个步的同时移动该步,两项更改都会保留。
  • 撤销只会撤回您自己的更改。
  • 在您仿真时,其他人的更改会暂时等待,使图表与您的仿真保持一致:仿真控制中的带着更改重新开始会接收这些更改。
  • 没有网络连接时您可以继续工作;连接恢复后会交换更改。
  • 离开会话 会将项目作为您自己的副本保留在您的设备上。
  • 项目采用端到端加密,密钥仅存在于链接中:任何拥有链接的人都可以查看和更改项目,因此请像对待文件本身一样分享它。

导出

文件 › 导出…(Ctrl+E,或右上角的导出按钮)会打开一个适用于所有格式的对话框,并带有实时预览。其设置按项目记住。文件 › 导出为 可直接以指定格式打开它。

格式用途
PDF打印和文档:矢量,A4 或 A3,适应页面或分页平铺在多张纸上,带标题栏
SVG文档和网页:矢量,任何尺寸下都清晰
PNG幻灯片、聊天和工单:1×、2× 或 4× 分辨率,可选透明背景
WebP与 PNG 相同,但文件更小
变量(Excel)作为 .xlsx 工作簿的变量表
变量(CSV)用于其他工具的变量表
结构化文本 ST运行所有 grafcet 的 PLC 代码:IEC 61131-3、Siemens TIA Portal(SCL)、Beckhoff TwinCAT 3 或 Allen-Bradley Logix
PLCopen XML将 grafcet 作为 SFC 程序导入 PLC 工具

导出默认为白底黑字;选择当前主题可保留屏幕上的颜色。可以导出当前 grafcet、所选内容或所有 grafcet。

文件 › 将图表复制为 PNG / SVG 将所选内容(或整个 grafcet)放到剪贴板上,可直接粘贴到报告中。

PLC 代码

结构化文本 ST 和 PLCopen XML 将您的 grafcet 转换为 PLC 代码。在 PLC 下选择 PLC:

  • IEC 61131-3:一个功能块(.st),适用于 CODESYS 及大多数其他工具。
  • Siemens TIA Portal(SCL):一个用于 S7-1200/1500 的 SCL 源文件(.scl)。在 TIA Portal 中,将其添加到外部源文件下,然后选择从源生成块。
  • Beckhoff TwinCAT 3:一个 POU 文件(.TcPOU)。右键单击 PLC 项目的某个文件夹 › Add › Existing Item。
  • Allen-Bradley Studio 5000:一个结构化文本例程。先创建其头部列出的标签(程序作用域),然后将代码粘贴到 ST 例程中。定时器使用 TONR/TOFR,边沿使用 OSRI/OSFI,首次扫描(S:FS)设置初始值。

结构化文本有两种风格:

  • 每个序列一个 CASE(默认):每个序列用一个 INT 变量保存其激活步的编号,并用一个 CASE 列出每个步的转换(IF receptivity THEN step_G1 := 2;)。随后每个输出各占一行,例如 Motor := step_G1 >= 2 AND step_G1 <= 4;。带并行分支的序列仍为每个步使用一个 BOOL。
  • 每个步一个 BOOL:每个 PLC 扫描周期依次处理所有转换、所有步,然后是定时器、边沿和动作;勾选在每个扫描周期中寻求稳定,即可像 GRAFCET 那样在一个扫描周期内越过一连串为真的转换。

激活时执行 Q1 := 1 这样的存储型动作只运行一次,离开该步后 Q1 保持其值。勾选在步激活期间以常量值保持存储型动作,则改为在其步激活期间的每个扫描周期都进行赋值。

PLCopen 文件中每个 grafcet 对应一个 SFC 程序,用于导入工程工具。预览会列出该格式无法表达的所有内容。在生成的代码于机器上运行之前,请务必对其进行检查。

设置

☰ › 设置…(Ctrl+,)包含主题、记法、欢迎屏幕、网格、提示和仿真偏好设置,并显示已使用的浏览器存储量。您可以在那里清除本地历史和最近的文件列表。

语言

使用右下角的旗帜选择语言(在手机上,位于菜单 ☰ 的底部);所做的选择会记在此设备上。每种语言也有自己的地址,例如德语为 …/de/,因此链接会以发送时所用的语言打开。