個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Write PLC programs in ladder or Structured Text and run them on open hardware. An IEC 61131-3 compiler with a browser ladder editor that also reads Rockwell L5X, TwinCAT and PLCopen projects.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Write PLC programs in ladder or Structured Text, and run them on open hardware.
plcc is an open-source compiler for IEC 61131-3, the standard language family of
industrial controllers. It turns ladder logic and Structured Text into native
machine code for whatever chip you have, and reads the project files engineers
already use: Rockwell Studio 5000, Beckhoff TwinCAT, CODESYS, and OpenPLC.
Open plcc studio → the ladder editor, in Chrome or Edge.檢視完整 README ↗Write PLC programs in ladder or Structured Text, and run them on open hardware.
plcc is an open-source compiler for IEC 61131-3, the standard language family of industrial controllers. It turns ladder logic and Structured Text into native machine code for whatever chip you have, and reads the project files engineers already use: Rockwell Studio 5000, Beckhoff TwinCAT, CODESYS, and OpenPLC.
Open plcc studio → the ladder editor, in Chrome or Edge.
XIC Start XIO Stop OTE Motor),
simulate them, and watch a real PLC live over USB. Nothing to install; projects stay in
your browser..L5X, Beckhoff TwinCAT projects, and PLCopen XML
(exported by CODESYS, OpenPLC and others) compile as they are.flowchart LR
subgraph Sources
studio["plcc studio<br/>(ladder editor)"]
st["Structured Text<br/>.st"]
l5x["Rockwell<br/>.L5X"]
tc["Beckhoff TwinCAT<br/>.plcproj"]
xml["PLCopen XML<br/>CODESYS, OpenPLC"]
end
plcc{{"plcc<br/>check · translate · compile"}}
subgraph Runs on
opta["Arduino Opta<br/>and other ARM PLCs"]
linux["Linux PLCs<br/>and PCs"]
sim["Browser<br/>simulator"]
end
studio --> plcc
st --> plcc
l5x --> plcc
tc --> plcc
xml --> plcc
plcc --> opta
plcc --> linux
plcc --> sim
manifest[("device manifest<br/>I/O, flashing, console")] -.-> plcc
A compiled program doesn't know which board it runs on. It reads inputs and writes
outputs through a standard process image (%I, %Q, %M), and a small runtime
written once per board connects that image to the real terminals.
plcc compile motor.st -o motor.o --device arduino-opta
Building plcc and every other command: docs/development.md and
docs/cli.md.plcc is young and moving fast. What has been shown to work:
Still experimental: the studio's online connection to real hardware, flashing from the browser, compiling inside the browser, and plcrt, our own bare-metal runtime. Known gaps are listed in docs/known-issues.md.
| Language support | What compiles, the standard library, targets |
| Command line | Every plcc command and input format |
| Running programs | The runtime contract and hardware abstraction layer |
| Ladder · Translation | Ladder formats, IEC ↔ Rockwell mapping |
| Rockwell L5X · TwinCAT · CODESYS | Vendor formats and behaviour |
| Device manifests | Describing a board |
| Developing plcc | Layout, building, tests |
Mozilla Public License 2.0, with a compiler output exception: programs you compile with plcc carry no license obligation, and you can link the runtime into a proprietary product. Improvements to plcc's own files come back under the MPL. Device manifests are CC0.
Contributions are welcome, signed off under the DCO. No CLA.