Tcopen: рдХрдиреНрд╡реЗрдВрд╢рдиреЛрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЕрдХреНрддреВре░ 2020  ┬╖  31рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: TcOpenGroup/TcOpen

рдХрдиреНрд╡реЗрдВрд╢рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╣рд╛рдБ

рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдВ

  • рдЖрдЗрдП рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд░рдЦреЗрдВред
  • рдпрд╣рд╛рдВ рддреНрд╡рд░рд┐рдд рдЪреИрдЯ:TcOpen Slack

  • [ ] рдЪрд░ рдХреЗ рд▓рд┐рдП рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛рдПрдВ (VAR, VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR_INST, TEMP)

  • [ ] рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛
  • [ ] рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛
  • [ ] рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛ (рдПрдлрдмреА, рдПрдлрд╕реА, рдкреАрдЖрд░рдЬреА рдЖрджрд┐)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд░рдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реЛрдЧрд╛ред рдЗрдирдХреНрд╕рдЯрди рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓реНрд╕ рдХреЗрд╡рд▓ 0 рдЖрдзрд╛рд░рд┐рдд рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВред рд╕реА # рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рднреНрд░рдо рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реИред

_array : рдмреВрд▓ рдХреА рд╕рд░рдгреА [0..10]; // рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓реНрд╕
рдЬрдмрдХрд┐
_array : рдмреВрд▓ рдХрд╛ рдРрд░реЗ [1..10]; // рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА?

рд╕рднреА 31 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@mark-lazarides @Roald87 @philippleidig @jozefchmelar рдЖрдЗрдП рдпрд╣рд╛рдВ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ ... рддреНрд╡рд░рд┐рдд рдЪреИрдЯ рдХреЗ рд▓рд┐рдП рд╕реБрд╕реНрдд; рдЧрддрд┐рд╡рд┐рдзрд┐ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛

  • рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЧреБрдгреЛрдВ рдХреЛ "IsEnabled" рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдирд╛рдо рд╣реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИред

  • рдореБрдЭреЗ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдкрд╕рдВрдж рд╣реИред рдореБрдЭреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдЕрдиреБрдкрдпреБрдХреНрдд рд▓рдЧрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рддрддреНрдХрд╛рд▓ рдпрд╛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

  • Inxton рдпрд╛ tc.prober рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "fbComponent" рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреА рд╡рд┐рд░рд╛рд╕рдд рдЖрд╡рд╢реНрдпрдХ рд╣реИ?

  • рдЬрдм рдирд╛рдордХрд░рдг рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдереЛрдбрд╝рд╛ рдХрдЯреНрдЯрд░рдкрдВрдереА рд╣реВрдВ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрд╕рд░реНрдЧ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред рдЗрдВрдЯрд░рдлреЗрд╕, рд╕рдВрджрд░реНрдн рдФрд░ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред
    рдЬреИрд╕реЗ

    рдирд╛рдордХрд░рдг рдЯрд╛рдЗрдк рдХрд░реЗрдВ


| рдмреНрд▓реЙрдХ рдкреНрд░рдХрд╛рд░ | рд╕рдВрдХреЗрддрди | рдЙрдкрд╕рд░реНрдЧ | рдЙрджрд╛рд╣рд░рдг |
| :---------------- | :----------- | :----------- | :------------------------------------------------- -- |
| рдПрдлрдмреА/рдХрдХреНрд╖рд╛ рдХрд╛ рдирд╛рдо | рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ |рдирд╣реАрдВ | Cyclinder |
| ENUM рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд╛рдо | рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ |рдирд╣реАрдВ | MachineState.Start |
| рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╛рдо | рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ | I | ICyclinder |
| рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдирд╛рдо | рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ |рдирд╣реАрдВ | Add() |
| рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдирд╛рдо | рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ | рдирд╣реАрдВ | Data |
| рд╕рдВрдШ рдХрд╛ рдирд╛рдо | рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ | рдирд╣реАрдВ | Control |

@philippleidig

  • рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЧреБрдгреЛрдВ рдХреЛ "IsEnabled" рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдирд╛рдо рд╣реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИред

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдорддред

  • рдореБрдЭреЗ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдкрд╕рдВрдж рд╣реИред рдореБрдЭреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдЕрдиреБрдкрдпреБрдХреНрдд рд▓рдЧрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рддрддреНрдХрд╛рд▓ рдпрд╛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд░реНрдгрд┐рдд рдХреА рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреБрдХреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмреВрд▓ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдХрднреА-рдХрднреА рд╡рд┐рдзрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ ... рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ рдЪрд░реНрдЪрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рд╢рд╛рдпрдж рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣-рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЬреИрд╕реЗ somethig)

  • Inxton рдпрд╛ tc.prober рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "fbComponent" рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреА рд╡рд┐рд░рд╛рд╕рдд рдЖрд╡рд╢реНрдпрдХ рд╣реИ?

рдирд╣реАрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рди рддреЛ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рди рд╣реА Inxton рдФрд░ рди рд╣реА tc.proberред рд╣рдо рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВред ComponentBase рдПрдХ рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЕрдиреБрдмрдВрдз (рдореИрдиреБрдЕрд▓ рд╡рд┐рдзрд┐, рдЖрджрд┐) рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реВрдВ (рдореБрдЭреЗ рд░рдЪрдирд╛ рдкрд╕рдВрдж рд╣реИ), рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЗрдирдХреНрд╕рдЯрди рдореЗрдВ рдпрджрд┐ рдЖрдк рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм something is copmonent рдЙрд╕рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рд╣реИред

рдЙрд╕рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░рдг рднреА рд╣реИред рд╣рдо рдЗрди рджрд┐рдиреЛрдВ рдЕрдкрдиреА рдмреЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдУрдкрди-рд╕реЛрд░реНрд╕ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдЧрд▓реЗ рд╣рдлреНрддреЗ рдХреБрдЫ рд▓реЗрдХрд░ рдЖ рд╕рдХреВрдВрдЧрд╛ред рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПред

  • рдЬрдм рдирд╛рдордХрд░рдг рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдереЛрдбрд╝рд╛ рдХрдЯреНрдЯрд░рдкрдВрдереА рд╣реВрдВ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрд╕рд░реНрдЧ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред рдЗрдВрдЯрд░рдлреЗрд╕, рд╕рдВрджрд░реНрдн рдФрд░ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред
    рдЬреИрд╕реЗ

рдирд╛рдордХрд░рдг рдЯрд╛рдЗрдк рдХрд░реЗрдВ

рдмреНрд▓реЙрдХ рдкреНрд░рдХрд╛рд░ рд╕рдВрдХреЗрддрди рдЙрдкрд╕рд░реНрдЧ рдЙрджрд╛рд╣рд░рдг
рдПрдлрдмреА/рдХреНрд▓рд╛рд╕ рдХрд╛ рдирд╛рдо рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ рдирдВрдмрд░ Cyclinder
ENUM рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд╛рдо PascalCase No MachineState.Start
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╛рдо рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ I ICyclinder
рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдирд╛рдо рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ рдирдВрдмрд░ Add()
рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдирд╛рдо рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ рдирдВ Data
рдпреВрдирд┐рдпрди рдХрд╛ рдирд╛рдо рдкрд╛рд╕реНрдХрд▓рдХреЗрд╕ рдирдВрдмрд░ Control

рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рднреА рдирд╣реАрдВ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреА рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдорд┐рд▓рддреА-рдЬреБрд▓рддреА рд╣реИ ... рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореБрдЭреЗ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдореИрдВ @philippleidig рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕реВрдЪрдХ рдФрд░ рд╕рдВрджрд░реНрдн рдпрд╣рд╛рдВ рдЕрдкрд╡рд╛рдж рд╣реИрдВред

рдореИрдВрдиреЗ рдкреАрдЖрд░ #5 . рдореЗрдВ рдЕрдкрдиреЗ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛

рд╕рджрд╕реНрдп рдирд╛рдордХрд░рдг рдФрд░ рдкреНрд░рдХрд╛рд░ рдирд╛рдордХрд░рдг

рдореБрдЭреЗ рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдореЗрд░реА рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕рджрд╕реНрдп рдЪрд░

рдХрдХреНрд╖рд╛ (рдПрдлрдмреА) рд╕рджрд╕реНрдп рдЪрд░ рдЫрд┐рдкрд╛рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЫреЛрдЯреЗ рдирд╛рдо рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП
~ рдкрд╛рд╕реНрдХрд▓рд╡реАрдПрдЖрд░{рд╡рд┐рд╢реЗрд╖рддрд╛ 'рдЫрд┐рдкрд╛рдПрдВ'}рдЯреНрд░рд┐рдЧрд░: рдмреВрд▓;{рд╡рд┐рд╢реЗрд╖рддрд╛ 'рдЫрд┐рдкрд╛рдПрдВ'}рдХрд╛рдЙрдВрдЯрд░: рдЖрдИрдПрдирдЯреА;{рд╡рд┐рд╢реЗрд╖рддрд╛ 'рдЫрд┐рдкрд╛рдПрдВ'}рдПрдирд╛рд▓реЙрдЧрд╕реНрдЯреИрдЯрд╕: рдПрдирд╛рд▓реЙрдЧрд╕реНрдЯреИрдЯрд╕;END_VAR~

@jozefchmelar

рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореБрдЭреЗ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдореИрдВ @philippleidig рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕реВрдЪрдХ рдФрд░ рд╕рдВрджрд░реНрдн рдпрд╣рд╛рдВ рдЕрдкрд╡рд╛рдж рд╣реИрдВред
рдореИрдВ
рдореИрдВрдиреЗ рдкреАрдЖрд░ #5 . рдореЗрдВ рдЕрдкрдиреЗ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛

рд╕рджрд╕реНрдп рдирд╛рдордХрд░рдг рдФрд░ рдкреНрд░рдХрд╛рд░ рдирд╛рдордХрд░рдг

рдореБрдЭреЗ рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдореЗрд░реА рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ

рд╕рджрд╕реНрдп рдЪрд░

рдХрдХреНрд╖рд╛ (рдПрдлрдмреА) рд╕рджрд╕реНрдп рдЪрд░ рдЫрд┐рдкрд╛рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЫреЛрдЯреЗ рдирд╛рдо рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП

    VAR
        {attribute 'hide'}
        trigger : BOOL;
        {attribute 'hide'}
        counter : INT;
        {attribute 'hide'}
        analogStatus : AnalogStatus;
    END_VAR
  • рдЫрд┐рдкреЗ рд╣реБрдП рдЪрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдкрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдПрдЪрдПрдордЖрдИ рдкрд░ рдЙрдирдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдЙрдиреНрд╣реЗрдВ рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдЪрдПрдордЖрдИ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддреЛ рд╣рдореЗрдВ 'рдЫреБрдкрд╛рдПрдВ' рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • Tc3 рдХреЗрд╕ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ рдЗрд╕рд▓рд┐рдП trigger (рдЪрд░ рдирд╛рдо) рдФрд░ Trigger (рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо) рд╡рд┐рд░реЛрдз рдХрд░реЗрдВрдЧреЗред рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ, рд╣рдореЗрдВ рдЗрд╕реЗ _ рдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд

рд╡рд┐рд╢реЗрд╖рддрд╛ "рд╕рд╢рд░реНрдд рд╢реЛ" рднреА рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕рдВрдХрд▓рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/8095402123.html &id=7685156034373049758
рдЪреВрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдЦреБрд▓рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рдХрд╛ рдХреЗрд╡рд▓ рд╕реАрдорд┐рдд рдЕрд░реНрде рд╣реЛрдЧрд╛ред

_ рд╕рджрд╕реНрдп рдЪрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ @PTKu рдиреЗ рдХрд╣рд╛ред

рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рдиреЛрдВ рдФрд░ рд╕реА # рдХреЗ рдирд╛рдо рдЪрдпрди рд╕реЗ рдЪрд┐рдкрдХрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдкрд╕рдВрдж рд╣реИред рдореБрдЭреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдЕрдиреБрдкрдпреБрдХреНрдд рд▓рдЧрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рддрддреНрдХрд╛рд▓ рдпрд╛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

@philippleidig рд╡рд╛рдкрд╕реА рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рддреНрд░реБрдЯрд┐ рдЬрд╛рдВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЖрдорддреМрд░ рдкрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╡рд┐рдзрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред CalculcateArea рдПрдХ REAL `LREAL` рд▓реМрдЯрд╛рдПрдЧрд╛ред

рд╕реБрдЭрд╛рдП рдЧрдП рдЪрд░ рдирд╛рдордХрд░рдг рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реИрдВ!

рдореБрдЭреЗ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдкрд╕рдВрдж рд╣реИред рдореБрдЭреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдЕрдиреБрдкрдпреБрдХреНрдд рд▓рдЧрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рддрддреНрдХрд╛рд▓ рдпрд╛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

@philippleidig рд╡рд╛рдкрд╕реА рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рддреНрд░реБрдЯрд┐ рдЬрд╛рдВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЖрдорддреМрд░ рдкрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╡рд┐рдзрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред CalculcateArea рдПрдХ REAL``LREAL рд▓реМрдЯрд╛рдПрдЧрд╛ред

@ Roald87 рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рдХреА рд╡рд┐рдзрд┐ рдХреНрд░рд┐рдпрд╛ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░ 'рд╕рддреНрдп' рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреА (MoveToHome() рдЬрдм рд╣реЛрдо рд╕реЗрдВрд╕рд░/рд╕реНрдерд┐рддрд┐ рдкрд╣реБрдВрдЪ рдЧрдИ)ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЕрдиреНрдп рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред

рд╕реБрдЭрд╛рдП рдЧрдП рдЪрд░ рдирд╛рдордХрд░рдг рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реИрдВ!

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд░рдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реЛрдЧрд╛ред рдЗрдирдХреНрд╕рдЯрди рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓реНрд╕ рдХреЗрд╡рд▓ 0 рдЖрдзрд╛рд░рд┐рдд рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВред рд╕реА # рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рднреНрд░рдо рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реИред

_array : рдмреВрд▓ рдХреА рд╕рд░рдгреА [0..10]; // рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓реНрд╕
рдЬрдмрдХрд┐
_array : рдмреВрд▓ рдХрд╛ рдРрд░реЗ [1..10]; // рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА?

рдЯреНрд╡рд┐рдирдХреИрдЯ рдПрдЪрдПрдордЖрдИ (TE2000) рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди

рдЯреНрд╡рд┐рдирдХреИрдЯ рдПрдЪрдПрдордЖрдИ (TE2000) рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдЪрдПрдордЖрдИ рдХреЗ рд╕рд╛рде рдПрд░реЗ рдХреЛ рд╕рд┐рдВрдХ рдореЗрдВ рд░рдЦрдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛!

@philippleidig || @ Roald87 рдХреНрдпрд╛ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреАрдЖрд░ рд╕рдореНрдореЗрд▓рди рдХрд░реЗрдЧрд╛ рддреЛ pls ... рдореБрдЭреЗ рд░реЗрдкреЛ рдореЗрдВ рдЕрдзрд┐рдХ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рд╣реИ :)ред

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд░рдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реЛрдЧрд╛ред рдЗрдирдХреНрд╕рдЯрди рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓реНрд╕ рдХреЗрд╡рд▓ 0 рдЖрдзрд╛рд░рд┐рдд рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВред рд╕реА # рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рднреНрд░рдо рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реИред

_array : рдмреВрд▓ рдХреА рд╕рд░рдгреА [0..10]; // рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓реНрд╕
рдЬрдмрдХрд┐
_array : рдмреВрд▓ рдХрд╛ рдРрд░реЗ [1..10]; // рдЯреНрд░рд╛рдВрд╕-рдкрд╛рдЗрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА?

рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрдб рдЯреЗрдХреНрд╕реНрдЯ рд▓реВрдкрд┐рдВрдЧ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдХрд╛рд░рдг, рдореИрдВ PLC рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдЖрдпрд╛рдо 1..X рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреАрдПрд▓рд╕реА рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдкреАрдПрд▓рд╕реА рдкрд░ рд╣рдореЗрд╢рд╛ рдЖрдХрд░реНрд╖рдХ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рд╣рдореЗрдВ рдХреЛрдб рдХреЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдмрд┐рдЯреНрд╕ рдкрд░ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд┐рдо рдХреА рдЬрд░реВрд░рдд рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

// Declaration
NUMBER_OF_DRIVES : INT := 10;
drives  : ARRAY[1..NUMBER_OF_DRIVES] OF I_Drive;

// now in the code
FOR i := 1 to NUMBER_OF_DRIVES DO
   drives[i].SomethingCool();
END_FOR

// Compared to

// Declaration
drives : ARRAY[0..(NUMBER_OF_DRIVES -1) ] OF I_Drive;
// Code
FOR i := 0 to (NUMBER_OF_DRIVES -1) DO
   drives[i].SomethingCool();
END_FOR

рдореБрдЭреЗ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдкрд╕рдВрдж рд╣реИред рдореБрдЭреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдЕрдиреБрдкрдпреБрдХреНрдд рд▓рдЧрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рддрддреНрдХрд╛рд▓ рдпрд╛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддрд░реАрдХреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╣реИред рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдЕрд░реНрдерд╛рдд

IF NOT piece.PassesValidation() THEN
 LogError('Piece does not pass validation');
END_IF

// OR

IF sequence.Finished THEN
  axis.Disable(); // No return type necessary.
  state := WaitForAxisDisabled;
END_IF

@ Roald87 рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рдХреА рд╡рд┐рдзрд┐ рдХреНрд░рд┐рдпрд╛ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░ 'рд╕рддреНрдп' рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреА (MoveToHome() рдЬрдм рд╣реЛрдо рд╕реЗрдВрд╕рд░/рд╕реНрдерд┐рддрд┐ рдкрд╣реБрдВрдЪ рдЧрдИ)ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЕрдиреНрдп рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдзрд┐ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рд╡рд╣ рд╡рд┐рдзрд┐ рдмрд╛рд░-рдмрд╛рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╕рд╣реА рди рд╣реЛ рдЬрд╛рдПред рдПрдХ рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ (рдпрджрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ "рдирд┐рд╖реНрдкрд╛рджрд┐рдд" рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдзрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рднреА рд╣реИрдВ, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ)ред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ;

  • рдЖрдк рдЙрд╕ рд╡рд░реНрдЧ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдкрде рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╕рдорд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рдд
atEnd :=  axis.GoToEnd();
atBeginning := axis.GoToBeginning();
  • рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рд░рд╛рдЬреНрдп рдХреЗ рдЕрдиреБрд░реЛрдз рдФрд░ рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд┐рддрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдпрд╛ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рддрд┐ рдХреЛ рднреА рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдЖрдк рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдХреИрд╕реЗ рджреЗрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдЕрдХреНрд╖.GoToEndTrueWhenComplete ()?
  • рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХрдХреНрд╖рд╛ рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдерд┐рддрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓рддреА рд╣реИ рдЬреЛ рдЙрд╕ рдХреЙрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреА рд╣реИ?
  • рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рд╣рдо рдмрд╛рд░-рдмрд╛рд░ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдкрд░ .Enable() рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдПрдХ рд╕реНрдХреИрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд▓рддреА рдорд┐рд▓рддреА рд╣реИ, рддреЛ .Enable() рд╡реИрд╕реЗ рднреА "рдХреИрд░реА рдСрди рдХреЙрд▓рд┐рдВрдЧ рдЬрдм рддрдХ рдпрд╣ рд╣реЛ рдЧрдпрд╛" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред RequestEnable: BOOL, рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд┐рдВрджреБ рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╕рд╣реА рд╣реИрдВ (рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдХреЛ рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╡рд╛рдкрд╕ рдЧрд┐рд░рдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреЗрддрд╛ рд╣реИ)ред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб .IsEnabled рдФрд░ .InError рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@philippleidig рдЯреНрд╡рд┐рдирдХреИрдЯ рдПрдЪрдПрдордЖрдИ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рдЧреИрд░ 0 рдЖрдзрд╛рд░рд┐рдд рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ?

@mark-lazarides

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддрд░реАрдХреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╣реИред рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдореИрдВ

рд╕рдорд╡рд░реНрддреА рдФрд░ рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рд╕рднреА рдЙрдЪрд┐рдд рдЪрд┐рдВрддрд╛рдПрдВ рд╣реИрдВред IMHO рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдШрдЯрдХреЛрдВ рдХреЗ рд╕реНрддрд░ рдкрд░ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдордиреНрд╡рдп рдХреЗ рд╕реНрддрд░ рдкрд░ред рдШрдЯрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд░рд╛рдЬреНрдп-рдирд┐рдпрдВрддреНрд░рдХ-рдЬреИрд╕реЗ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡реНрд╕ (рдЪрд╛рд╣реЗ рд╡рд╣ рд╕рд░рд▓ рдХреЗрд╕, рдЖрдИрдПрдл, рдИрдПрд▓рдПрд╕рдЖрдИрдПрдл, рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЕрдиреБрдХреНрд░рдордХ/рдЪрдпрдирдХрд░реНрддрд╛/рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рд╣реЛ) рдХреЗ рднреАрддрд░ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рддрд░реАрдХреЛрдВ рдХреА рд╕рдорд╡рд░реНрддреА рдХреЙрд▓ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ рдШрдЯрдХ .

рдШрдЯрдХ рдХреЗ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
~atEnd:=axis.GoToEnd ();рд╢реБрд░реБрдЖрдд рдореЗрдВ: = рдЕрдХреНрд╖ред рдЧреЛрдЯреЛрдмреАрдЧрд┐рдирд┐рдВрдЧ ();~

executing methods true $ рд▓реМрдЯрд╛рдиреЗ рдкрд░ рд╕реНрд╡рдЪреНрдЫ рдШреЛрд╖рдгрд╛рддреНрдордХ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореЗрд░реЗ рдорди рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИ:

~~~
рд╡реАрдПрдЖрд░
_рд░рд╛рдЬреНрдп: рдЖрдИрдПрдирдЯреА;

END_VAR

рдорд╛рдорд▓рд╛ _рд░рд╛рдЬреНрдп рдХрд╛
0:
IF (рдЕрдХреНрд╖ред рдореВрд╡рдПрдмреНрд╕реЛрд▓реНрдпреВрдЯ (рд╕реНрдерд┐рддрд┐: 100.0)) рддрдм
_рд░рд╛рдЬреНрдп:= 1;
рдЕрдЧрд░ рдЕрдВрдд;
1:
IF(axis.MoveRelative(рд╕реНрдерд┐рддрд┐: 100.0)) рддрдм
_рд░рд╛рдЬреНрдп:= 2;
рдЕрдЧрд░ рдЕрдВрдд;
2:
IF (рдЕрдХреНрд╖ред рдореВрд╡рдПрдмреНрд╕реЛрд▓реНрдпреВрдЯ (рд╕реНрдерд┐рддрд┐: 300.0)) рддрдм
_рд░рд╛рдЬреНрдп:= 3;
рдЕрдЧрд░ рдЕрдВрдд;
3:
_рд░рд╛рдЬреНрдп:= 0;
END_CASE
~~~

рдЗрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

~~~
рд╡реАрдПрдЖрд░
_рд░рд╛рдЬреНрдп: рдЖрдИрдПрдирдЯреА;

END_VAR

рдорд╛рдорд▓рд╛ _рд░рд╛рдЬреНрдп рдХрд╛
0:
рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ (рдЕрдХреНрд╖ред рдореВрд╡рдПрдмреНрд╕реЛрд▓реНрдпреВрдЯ (рд╕реНрдерд┐рддрд┐: 100.0), 1);
1:
рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ (рдЕрдХреНрд╖ред рдореВрд╡ рд░рд┐рд▓реЗрдЯрд┐рд╡ (рд╕реНрдерд┐рддрд┐: 100.0), 2);
2:
рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ (рдЕрдХреНрд╖ред рдореВрд╡рдПрдмреНрд╕реЛрд▓реНрдпреВрдЯ (рд╕реНрдерд┐рддрд┐: 300.0), 3);
3:
рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ (рд╕рдЪ, 0);

END_CASE

=================================

рд╡рд┐рдзрд┐ рдкреНрд░рддреАрдХреНрд╖рд┐рдд
VAR_INPUT
рдХрд┐рдпрд╛: рдмреВрд▓
рдЕрдЧрд▓рд╛ рд░рд╛рдЬреНрдп: рдЖрдИрдПрдирдЯреА;
END_VAR
рдЕрдЧрд░ (рдХрд┐рдпрд╛ рдЧрдпрд╛) рддрдм
_рд░рд╛рдЬреНрдп: = рдЕрдЧрд▓рд╛ рд░рд╛рдЬреНрдп;

рдЕрдЧрд░ рдЕрдВрдд;

~~~
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдШрдЯрдХ рдПрдХрд▓ рдкреАрдПрд▓рд╕реА рдХрд╛рд░реНрдп рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдпрд╣ рдХреЛрдб рдХреЗ рдЙрдкрднреЛрдЧ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЙрдкрднреЛрдХреНрддрд╛ рдЧрд▓рдд рдХреНрд░рдо рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддреЛ рд╣рдорд╛рд░реЗ рдШрдЯрдХреЛрдВ рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдиреНрд╣реЗрдВ рд╕рднреА рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рд╡реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ "рдХрд╛рдо" рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ (рдпрд╛рдиреА res := axis.MoveTo(Position:=100); рдХреЛ axis.Enable() $ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд▓ рдХрд░рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛), рд▓реЗрдХрд┐рди рдЙрдкрднреЛрдЧ рдХреЛрдб рдХреЛ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рд╕рдордЭ рд╕рдХреЗ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдпрд╣ рдЕрднреА рднреА рдореБрдЭреЗ рдареАрдХ рд╕реЗ рдирд╣реАрдВ рдкрдврд╝рддрд╛ рд╣реИред рдЖрдк рдЕрдХреНрд╖ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореВрд╡ рдПрдмреНрд╕реЛрд▓реНрдпреВрдЯ (syx) рдФрд░ рд╕рдордЭреЗрдВ рдХрд┐ рдЗрд╕реЗ рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдХреЗрд╡рд▓ рдпрд╣ рд╕рдордЭ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рд╢реИрд▓реА рдХреЛ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рд╕рдордп рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдмрдирд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдпрд╣ рднреА рдХрд╣реВрдВрдЧрд╛, рдХрд┐ рднрд▓реЗ рд╣реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдЙрдирдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЕрдзрд┐рдХ рд╣реИред рдЪрдХреНрд░реАрдп рд╡рд┐рдзрд┐ рдХреЙрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЖрдк рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдлрд┐рд░ рдЪрдХреНрд░реАрдп рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдлрд┐рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рджреВрд╕рд░реА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдЕрдВрддрд░рд┐рдо рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдпрд╛ рдЖрдк рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдлрд▓ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдлрд┐рд░ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЕрдиреБрд░реЛрдз рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдУрдУ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдФрд░ рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдХреЙрд▓рд┐рдВрдЧ/рдкреВрдЫрддрд╛рдЫ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред

@ рдорд╛рд░реНрдХ-рд▓рд╛рдЬрд╝рд░рд╛рдЗрдбреНрд╕ рд╕рд╣реА! рдореИрдВ execute methods (рдЪрд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╣рддреЗ рд╣реИрдВ) рдЪрдХреНрд░реАрдп рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдерд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЪрдХреНрд░реАрдп рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдпрд╛ рддреЛ рдПрдлрдмреА рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдпрд╛ Cyclic рдкрджреНрдзрддрд┐ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛; рдЬрд┐рд╕реЗ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХрд┐рд╕реА рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдкрд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдареАрдХред рддреЛ рд╣рдо рд╡рд┐рдзрд┐ рдХреЛ рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВ рдмреБрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рддрд░реНрдХ рдЦрдбрд╝реЗ рд╣реИрдВред рд╡рд┐рдзрд┐ рдХреЛ рдПрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рддреЛ рдХреБрдЫ рд╢реБрд░реВ рдХрд░реЗрдВ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрд╕ рдХреА рд╕рдлрд▓рддрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ) рдпрд╛ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ)ред

рдареАрдХред рддреЛ рд╣рдо рд╡рд┐рдзрд┐ рдХреЛ рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВ рдмреБрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рддрд░реНрдХ рдЦрдбрд╝реЗ рд╣реИрдВред рд╡рд┐рдзрд┐ рдХреЛ рдПрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рддреЛ рдХреБрдЫ рд╢реБрд░реВ рдХрд░реЗрдВ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрд╕ рдХреА рд╕рдлрд▓рддрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ) рдпрд╛ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ)ред

рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рдорд╛рд░реНрдХ, рд╣рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдПрдХ рд╡рд┐рдзрд┐ рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╡рд╛рдкрд╕ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рдЬрдЯрд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд╡рд╛рдпрд╡реАрдп рдкрд┐рд╕реНрдЯрди рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ) рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдбреНрд░рд╛рдЗрд╡/рдЕрдХреНрд╖ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд╣рдордд, рдкреАрдЯрд░ред

рдзрд╛рдЧреЗ рдХреЗ рдирд╛рдо рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдПрдХ рд╕рдореНрдореЗрд▓рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ! рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдореБрдЭреЗ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИред

рдХреНрд░рд┐рд╕ рдХреЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдордп рдПрдХ рдкреАрдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдореВрд▓ рдЕрдХреНрд╖ рдмреНрд▓реЙрдХ рд╣реИ - рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдирдЬрд░ рд░рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

@ рдорд╛рд░реНрдХ-рд▓рд╛рдЬрд╝рд░рд╛рдЗрдбреНрд╕ рдХреЛ рдХреЛрдИ рдорд╛рдлреА рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдорд╛рд░реНрдХ, рд╣рдо рдпрд╣рд╛рдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдореИрдВ рдХрд▓ рдкреАрдЖрд░ рдкрд░ рдПрдХ рдирдЬрд░ рдбрд╛рд▓реВрдВрдЧрд╛ ...

@philippleidig @Roald87 @dhullett08 рдШрдЯрдХ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ

PLCopen рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рд▓рд┐рдП рдЧрдП рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реБрдЭрд╛рд╡ред

plcopen_coding_guidelines_version_1.0.pdf

рд╕реНрдерд┐рд░рд╛рдВрдХ
ALLCAPS рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╣рдЪрд╛рдиреЗ рдЬрд╛ рд╕рдХреЗрдВ

рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╛рдо рд▓рдВрдмрд╛рдИ
рдиреНрдпреВрдирддрдо 4 рд╡рд░реНрдг рдЕрдзрд┐рдХрддрдо 24 рд╡рд░реНрдг?

PLCopen рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рд▓рд┐рдП рдЧрдП рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реБрдЭрд╛рд╡ред

plcopen_coding_guidelines_version_1.0.pdf

рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рд╕реНрдерд┐рд░рд╛рдВрдХ
ALLCAPS рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╣рдЪрд╛рдиреЗ рдЬрд╛ рд╕рдХреЗрдВ

рдореИрдВ

рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╛рдо рд▓рдВрдмрд╛рдИ
рдиреНрдпреВрдирддрдо 4 рд╡рд░реНрдг рдЕрдзрд┐рдХрддрдо 24 рд╡рд░реНрдг?

рд▓рдВрдмреЗ рдирд╛рдо рддрдм рддрдХ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдЗрд░рд╛рджрд╛ рд╡реНрдпрдХреНрдд рди рдХрд░реЗрдВ, 24 рд╡рд░реНрдг рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛ рдирд╣реАрдВ рд░рдЦреВрдВрдЧрд╛ред рдкрд╛рддреНрд░ред рдмрд╣реБрдд рдЫреЛрдЯреЗ рдирд╛рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрджрд┐рдЧреНрдз рд╣реИрдВ, рд╡реЗ 4 рд╡рд░реНрдгреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

@Seversonic рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ ...

рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рдпрд╣рд╛рдВ #11

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ!
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ рдПрдХ рдЕрдзрд┐рдХ рдХреНрд▓рд╛рд╕рд┐рдХ рддрд░реАрдХрд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ
рдПрдлрдмреА_ рдПрдлрдмреА рдлрд╝рдВрдХреНрд╢рди рдмреНрд▓реЙрдХ
M_Add () рд╡рд┐рдзрд┐
P_рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░реЛрдк

рд╣рд╛рдп, @PeterZerlauth рдФрд░ рдзрдиреНрдпрд╡рд╛рджред рд╕рдореНрдореЗрд▓рдиреЛрдВ рдкрд░ рд╕рд╣рдордд рд╣реЛрдирд╛ рдереЛрдбрд╝рд╛ рд╢реНрд░рдорд╕рд╛рдзреНрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкреАрдПрд▓рд╕реА рдФрд░ рд╢рд╛рд╕реНрддреНрд░реАрдп рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдЖрдзреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╣реИрдВред

рдЪрд░реНрдЪрд╛рдУрдВ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдорддрджрд╛рди рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

TcOpen.Survey.Result.pdf

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рд╣реБрдИ рдФрд░ рд╕реНрд▓реИрдХ рдЪреИрдирд▓ рдореЗрдВ, @dhullett08 TcOpen рд░реЗрдкреЛ рдореЗрдВ рднреА рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╡рдирд╛ рдереА (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ) рдХрд┐ рд╣рдореЗрдВ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рд╡реЗ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдпрд╛ рдЖрдзреБрдирд┐рдХ рдЖрдИрдбреАрдИ рд╡рд╣ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдордиреЗ рдЕрддреАрдд рдореЗрдВ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдерд╛ред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдмрд╕ рд╣рдореЗрдВ рдХрд┐рд╕реА рдмрд╛рдд рдкрд░ рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реИред

рдпрд╣рд╛рдВ рд╕рдорд╛рдкрди рдкрд░ рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдВ рдЬрд╛рд░реА рд╣реИ: https://github.com/TcOpenGroup/TcOpen/discussions/11

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

runtimevic picture runtimevic  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

runtimevic picture runtimevic  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

steveoh picture steveoh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

abishekrsrikaanth picture abishekrsrikaanth  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ominouse picture ominouse  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ