{"id":20063771,"url":"https://github.com/hiperiondev/il_parser","last_synced_at":"2026-03-04T11:32:02.642Z","repository":{"id":112267680,"uuid":"593250271","full_name":"hiperiondev/il_parser","owner":"hiperiondev","description":" IEC61131-3 IL parser (edition 3.0 2013-02)","archived":false,"fork":false,"pushed_at":"2023-06-30T23:41:58.000Z","size":198,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-19T23:36:27.836Z","etag":null,"topics":["iec61131-3","il","parser"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hiperiondev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-25T15:30:22.000Z","updated_at":"2025-07-09T13:56:00.000Z","dependencies_parsed_at":"2024-11-13T13:44:27.160Z","dependency_job_id":"ba35f936-29d1-4d9d-9af3-ac2245210610","html_url":"https://github.com/hiperiondev/il_parser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hiperiondev/il_parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fil_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fil_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fil_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fil_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hiperiondev","download_url":"https://codeload.github.com/hiperiondev/il_parser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fil_parser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30078989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["iec61131-3","il","parser"],"created_at":"2024-11-13T13:43:47.069Z","updated_at":"2026-03-04T11:32:02.599Z","avatar_url":"https://github.com/hiperiondev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# il_parser\nIEC61131-3 IL parser (edition 3.0 2013-02)\n\n### EXAMPLE\n```\n------------------ test 1 ------------------\n[FILE: test1.il]\n\n[LABELS]\n    [NONE]\n\n[0000] LD PHY#i0.4\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 4]\n\n[0001] OR( PHY#i1.2\n    [code: 6(0x06)[OR], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 1, phy_b: 2]\n\n[0002] AND( PHY#i0.3\n    [code: 5(0x05)[AND], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 3]\n\n[0003] OR( PHY#i0.2\n    [code: 6(0x06)[OR], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 2]\n\n[0004] OR( PHY#i0.1\n    [code: 6(0x06)[OR], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 1]\n\n[0005]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0006]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0007]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0008] OR( PHY#i0.6\n    [code: 6(0x06)[OR], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 6]\n\n[0009] AND( PHY#i1.0\n    [code: 5(0x05)[AND], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 1, phy_b: 0]\n\n[0010] OR( PHY#i0.7\n    [code: 6(0x06)[OR], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 7]\n\n[0011] ORN( PHY#i0.5\n    [code: 6(0x06)[OR], conditional: 0, negate: 1, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 5]\n\n[0012] AND( PHY#i0.3\n    [code: 5(0x05)[AND], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 3]\n\n[0013] OR( PHY#i0.2\n    [code: 6(0x06)[OR], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 2]\n\n[0014] OR( PHY#i0.1\n    [code: 6(0x06)[OR], conditional: 0, negate: 0, push: 1, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 1]\n\n[0015]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0016]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0017]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0018]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0019]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0020]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0021]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0022]  )\n    [code: 22(0x16)[POP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0023]  S\n    [code: 3(0x03)[S], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0024] ST PHY#Q0.0\n    [code: 2(0x02)[ST], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 1[Q], datatype: 0[X] phy_a: 0, phy_b: 0]\n\n[0025] END\n    [code: 31(0x1f)[END], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[lines = 26]\n--------------------------------------------\n\n------------------ test 2 ------------------\n[FILE: test2.il]\n\n[ start expanded (CAL) ]\n    [ CAL FUN_EXP1 ( ]\n    [ RESET:=%IX3.6, ]\n    [ PVv_5:=Limit, ]\n    [ _aCU:=145, ]\n    [ _sTR_:=\"str_test\", ]\n    [ OUT1=\u003eFO1, ]\n    [ OUT2=\u003eFO2 ]\n    [ ) ]\n[ end expanded ]\n\n[ start expanded (CAL) ]\n    [ GEN_FUN_EXP ( ]\n    [ RESET:=%IX3.6, ]\n    [ PVv_5:=Limit, ]\n    [ _aCU:=145, ]\n    [ _sTR_:=\"str_test\", ]\n    [ OUT1=\u003eFO1, ]\n    [ OUT2=\u003eFO2) ]\n[ end expanded ]\n\n[ start expanded (VAR) ]\n    [ VAR ]\n    [ C10 = CTU  ]\n    [ CMD_TMR = TON  ]\n    [ A, B = INT  ]\n    [ ELAPSED = TIME  ]\n    [ OUT, ERR, TEMPL, COND = BOOL  ]\n    [ END_VAR ]\n[ end expanded ]\n\n[LABELS]\n    [while line: 8]\n    [reverse line: 18]\n    [endwhile line: 22]\n    [end line: 24]\n\n[0000] LD PHY#i0.0\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 0[I], datatype: 0[X] phy_a: 0, phy_b: 0]\n\n[0001] ST PHY#mb0\n    [code: 2(0x02)[ST], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 1[B] phy_byte: 0]\n\n[0002] EQ PHY#m3.0\n    [code: 15(0x0f)[EQ], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 0[X] phy_a: 3, phy_b: 0]\n\n[0003] JMPC 24\n    [code: 19(0x13)[JMP], conditional: 1, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0004] LDN bool#true\n    [code: 1(0x01)[LD], conditional: 0, negate: 1, push: 0, lit_dataformat: LIT_BOOLEAN, iec_datatype: BOOL#]\n        [boolean: 1]\n\n[0005] ST PHY#m1.0\n    [code: 2(0x02)[ST], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 0[X] phy_a: 1, phy_b: 0]\n\n[0006] EQ PHY#m3.0\n    [code: 15(0x0f)[EQ], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 0[X] phy_a: 3, phy_b: 0]\n\n[0007] JMPC 24\n    [code: 19(0x13)[JMP], conditional: 1, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0008] LD 450\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_INTEGER, iec_datatype: NULL#]\n        [integer: 450]\n\n[0009] EQ PHY#m1.0\n    [code: 15(0x0f)[EQ], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 0[X] phy_a: 1, phy_b: 0]\n\n[0010] JMPNC 22\n    [code: 19(0x13)[JMP], conditional: 1, negate: 1, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0011] LD UINT#16#a5\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_BASE16, iec_datatype: UINT#]\n        [integer: 165]\n\n[0012] LT PHY#m1.0\n    [code: 18(0x12)[LT], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 0[X] phy_a: 1, phy_b: 0]\n\n[0013] JMPC 18\n    [code: 19(0x13)[JMP], conditional: 1, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0014] LD 23.6\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_REAL, iec_datatype: NULL#]\n        [real: 23.600000]\n\n[0015] SUB PHY#m1.0\n    [code: 10(0x0a)[SUB], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 0[X] phy_a: 1, phy_b: 0]\n\n[0016] ST PHY#m0.0\n    [code: 2(0x02)[ST], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 0[X] phy_a: 0, phy_b: 0]\n\n[0017] JMP 8\n    [code: 19(0x13)[JMP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0018] LD -12e-5\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_REAL_EXP, iec_datatype: NULL#]\n        [real: -0.000120]\n\n[0019] SUB PHY#m0.0\n    [code: 10(0x0a)[SUB], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 0[X] phy_a: 0, phy_b: 0]\n\n[0020] ST PHY#md4.23\n    [code: 2(0x02)[ST], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 2[M], datatype: 3[D] phy_double: 4.230000]\n\n[0021] JMP 8\n    [code: 19(0x13)[JMP], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[0022] LD a_Variable_23\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_VAR, iec_datatype: NULL#]\n        [variable: a_Variable_23]\n\n[0023] ST PHY#qw5\n    [code: 2(0x02)[ST], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 1[Q], datatype: 2[W] phy_word: 5]\n\n[0024] ST PHY#q0.0\n    [code: 2(0x02)[ST], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_PHY, iec_datatype: PHY#]\n        [prefix: 1[Q], datatype: 0[X] phy_a: 0, phy_b: 0]\n\n[0025] LD TIME_OF_DAY#11:36:15.20\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_TIME_OF_DAY, iec_datatype: NULL#]\n        [H: 11, M: 36, S: 15, MS: 20]\n\n[0026] LD TIME#1h_15m_30s_60ms\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_DURATION, iec_datatype: TIME#]\n        [H: 1, M: 15, S: 30, MS: 60]\n\n[0027] LD TIME#15m_30s\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_DURATION, iec_datatype: TIME#]\n        [H: 0, M: 15, S: 30, MS: 0]\n\n[0028] CAL FUN_3 (var1:=TIME#1h_15m_30s_60ms, PV:=DATE_AND_TIME#2001-04-09-11:36:15.20, CU:=-12e6, DT:=DATE#2001-04-09)\n    [code: 20(0x14)[CAL], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_CAL, iec_datatype: NULL#]\n    [func: FUN_3]\n    [ var1 [in/out: 0] lit_dataformat: LIT_DURATION, iec_datatype: TIME# ]\n        [H: 1, M: 15, S: 30, MS: 60]\n    [ PV [in/out: 0] lit_dataformat: LIT_DATE_AND_TIME, iec_datatype: TIME# ]\n        [year: 2001, month: 4, day: 9, H: 11, M: 36, S: 15, MS: 20]\n    [ CU [in/out: 0] lit_dataformat: LIT_REAL_EXP, iec_datatype: NULL# ]\n        [real: -12000000.000000]\n    [ DT [in/out: 0] lit_dataformat: LIT_DATE, iec_datatype: DATE# ]\n        [year: 2001, month: 4, day: 9]\n\n[0029] LD TIME#18ms\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_DURATION, iec_datatype: TIME#]\n        [H: 0, M: 0, S: 0, MS: 18]\n\n[0030] LD DATE#2001-04-09\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_DATE, iec_datatype: DATE#]\n        [year: 2001, month: 4, day: 9]\n\n[0031] LD DATE_AND_TIME#2001-04-09-11:36:15.20\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_DATE_AND_TIME, iec_datatype: TIME#]\n        [year: 2001, month: 4, day: 9, H: 11, M: 36, S: 15, MS: 20]\n\n[0032] LD \"this is a string\"\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_STRING, iec_datatype: NULL#]\n        [string: this is a string]\n\n[0033] LD 'a'\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_STRING, iec_datatype: NULL#]\n        [string: a]\n\n[0034] LD 'AaBb'\n    [code: 1(0x01)[LD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_STRING, iec_datatype: NULL#]\n        [string: AaBb]\n\n[0035] CAL CTU_1 (RESET:=PHY#IX3.6, PVv_5:=Limit, _aCU:=145, _sTR_:=\"str_test\")\n    [code: 20(0x14)[CAL], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_CAL, iec_datatype: NULL#]\n    [func: CTU_1]\n    [ RESET [in/out: 0] lit_dataformat: LIT_PHY, iec_datatype: PHY# ]\n        [prefix: 0[I], datatype: 0[X] phy_a: 3, phy_b: 6]\n    [ PVv_5 [in/out: 0] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: Limit]\n    [ _aCU [in/out: 0] lit_dataformat: LIT_INTEGER, iec_datatype: NULL# ]\n        [integer: 145]\n    [ _sTR_ [in/out: 0] lit_dataformat: LIT_STRING, iec_datatype: NULL# ]\n        [string: str_test]\n\n[0036] CAL FUNC_NF (PHY#IX3.6, Limit, 145, \"string\")\n    [code: 20(0x14)[CAL], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_CAL, iec_datatype: NULL#]\n    [func: FUNC_NF]\n    [ NOT_FORMAL [in/out: 0] lit_dataformat: LIT_PHY, iec_datatype: PHY# ]\n        [prefix: 0[I], datatype: 0[X] phy_a: 3, phy_b: 6]\n    [ NOT_FORMAL [in/out: 0] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: Limit]\n    [ NOT_FORMAL [in/out: 0] lit_dataformat: LIT_INTEGER, iec_datatype: NULL# ]\n        [integer: 145]\n    [ NOT_FORMAL [in/out: 0] lit_dataformat: LIT_STRING, iec_datatype: NULL# ]\n        [string: string]\n\n[0037] CAL FUN_IN_OUT (RESET:=PHY#IX3.6, PVv_5:=Limit, _aCU:=145, _sTR_:=\"str_test\", OUT1=\u003eFO1, OUT2=\u003eFO2)\n    [code: 20(0x14)[CAL], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_CAL, iec_datatype: NULL#]\n    [func: FUN_IN_OUT]\n    [ RESET [in/out: 0] lit_dataformat: LIT_PHY, iec_datatype: PHY# ]\n        [prefix: 0[I], datatype: 0[X] phy_a: 3, phy_b: 6]\n    [ PVv_5 [in/out: 0] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: Limit]\n    [ _aCU [in/out: 0] lit_dataformat: LIT_INTEGER, iec_datatype: NULL# ]\n        [integer: 145]\n    [ _sTR_ [in/out: 0] lit_dataformat: LIT_STRING, iec_datatype: NULL# ]\n        [string: str_test]\n    [ OUT1 [in/out: 1] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: FO1]\n    [ OUT2 [in/out: 1] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: FO2]\n\n[0038] ST  FUNC.IV\n    [code: 2(0x02)[ST], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_VAR, iec_datatype: NULL#]\n        [variable:  FUNC.IV]\n\n[0039] OTHERFUNC PHY#IX3.6, Limit, 145, \"string\"\n    [code: 30(0x1e)[CAL], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_CAL, iec_datatype: NULL#]\n    [func: OTHERFUNC]\n    [ NOT_FORMAL [in/out: 0] lit_dataformat: LIT_PHY, iec_datatype: PHY# ]\n        [prefix: 0[I], datatype: 0[X] phy_a: 3, phy_b: 6]\n    [ NOT_FORMAL [in/out: 0] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: Limit]\n    [ NOT_FORMAL [in/out: 0] lit_dataformat: LIT_INTEGER, iec_datatype: NULL# ]\n        [integer: 145]\n    [ NOT_FORMAL [in/out: 0] lit_dataformat: LIT_STRING, iec_datatype: NULL# ]\n        [string: string]\n\n[0040] CAL FUN_EXP1 ( RESET:=PHY#IX3.6, PVv_5:=Limit, _aCU:=145, _sTR_:=\"str_test\", OUT1=\u003eFO1, OUT2=\u003eFO2 )\n    [code: 20(0x14)[CAL], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_CAL, iec_datatype: NULL#]\n    [func: FUN_EXP1]\n    [ RESET [in/out: 0] lit_dataformat: LIT_PHY, iec_datatype: PHY# ]\n        [prefix: 0[I], datatype: 0[X] phy_a: 3, phy_b: 6]\n    [ PVv_5 [in/out: 0] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: Limit]\n    [ _aCU [in/out: 0] lit_dataformat: LIT_INTEGER, iec_datatype: NULL# ]\n        [integer: 145]\n    [ _sTR_ [in/out: 0] lit_dataformat: LIT_STRING, iec_datatype: NULL# ]\n        [string: str_test]\n    [ OUT1 [in/out: 1] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: FO1]\n    [ OUT2 [in/out: 1] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: FO2]\n\n[0041] GEN_FUN_EXP ( RESET:=PHY#IX3.6, PVv_5:=Limit, _aCU:=145, _sTR_:=\"str_test\", OUT1=\u003eFO1, OUT2=\u003eFO2)\n    [code: 30(0x1e)[CAL], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_CAL, iec_datatype: NULL#]\n    [func: GEN_FUN_EXP]\n    [ RESET [in/out: 0] lit_dataformat: LIT_PHY, iec_datatype: PHY# ]\n        [prefix: 0[I], datatype: 0[X] phy_a: 3, phy_b: 6]\n    [ PVv_5 [in/out: 0] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: Limit]\n    [ _aCU [in/out: 0] lit_dataformat: LIT_INTEGER, iec_datatype: NULL# ]\n        [integer: 145]\n    [ _sTR_ [in/out: 0] lit_dataformat: LIT_STRING, iec_datatype: NULL# ]\n        [string: str_test]\n    [ OUT1 [in/out: 1] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: FO1]\n    [ OUT2 [in/out: 1] lit_dataformat: LIT_VAR, iec_datatype: NULL# ]\n        [variable: FO2]\n\n[0042] VAR C10=CTU END_VAR\n    [code: 29(0x1d)[VAD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_VAD, iec_datatype: NULL#]\n        [C10 : CTU]\n\n[0043] VAR C10=CTU CMD_TMR=TON A,B=INT ELAPSED=TIME OUT,ERR,TEMPL,COND=BOOL  END_VAR\n    [code: 29(0x1d)[VAD], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_VAD, iec_datatype: NULL#]\n        [C10 : CTU]\n        [CMD_TMR : TON]\n        [A : INT]\n        [ELAPSED : TIME]\n        [OUT : BOOL]\n        [ERR : BOOL]\n        [TEMPL : BOOL]\n        [COND : BOOL]\n\n[0044] END\n    [code: 31(0x1f)[END], conditional: 0, negate: 0, push: 0, lit_dataformat: LIT_NONE, iec_datatype: NULL#]\n\n[lines = 45]\n--------------------------------------------\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiperiondev%2Fil_parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiperiondev%2Fil_parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiperiondev%2Fil_parser/lists"}