<p>TcOpen_the_Vortex_Builder_does_not_exists?</p>

์— ๋งŒ๋“  2021๋…„ 11์›” 11์ผ  ยท  12์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: TcOpenGroup/TcOpen

์•ˆ๋…•ํ•˜์„ธ์š”,
TcOpen_the_Vortex_Builder_does_not_exists?
๋ณด์—ฌ๋“œ๋ฆฌ๊ธฐ ์œ„ํ•ด ์‚ฌ์ง„์„ ์ฒจ๋ถ€ํ–ˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ˆ˜์ •ํ•˜๋‚˜์š”?
TcOpen_the_Vortex_Builder_does_not_exists

๊ฐ์‚ฌ

question

๋ชจ๋“  12 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” @PTKu
๋‚˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ฒ˜์Œ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ  ์–ด์จŒ๋“  ๋‚˜๋Š” Twincat์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฏฟ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์‚ฌ์ง„์„ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค
TcOpen_the_Vortex_Builder_not_create_library

์–ด๋–ป๊ฒŒ ๊ณ ์ณ์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด...

์•ˆ๋…•ํ•˜์„ธ์š” @PTKu
์„ฑ๊ณตํ–ˆ๋Š”๋ฐ PLC ํ”„๋กœ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ PLC ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”๋ฐ,
๋ณด์—ฌ๋“œ๋ฆฌ๊ธฐ ์œ„ํ•ด ์‚ฌ์ง„์„ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

TcOpen_the_Vortex_Builder_OK_create_library

์ด์ œ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ...

์•ˆ๋…•ํ•˜์„ธ์š” @PTKu ์ž…๋‹ˆ๋‹ค .
๋˜ ๋ง‰ํ˜”์–ด
plc.MAIN._simpleContext๋Š” ์ •์˜๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์‚ฌ์ง„์ฒจ๋ถ€ํ•˜๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ˆ˜์ •๋˜๋‚˜์š”?
TcOpen_MAIN_does_not_contain_a_definition

@runtimevic MAIN์— SimpleContext์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
~ํ”„๋กœ๊ทธ๋žจ ๋ฉ”์ธVAR_simpleContext : SimpleContext;END_VAR~

๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ํŠธ์œˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜๊ธฐ ์œ„ํ•ด inxton ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋„์›€์ด ๋˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”

@runtimevic MAIN์— SimpleContext์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

PROGRAM MAIN
VAR
      _simpleContext : SimpleContext;
END_VAR

๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ํŠธ์œˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜๊ธฐ ์œ„ํ•ด inxton ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋„์›€์ด ๋˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”

์•ˆ๋…•ํ•˜์„ธ์š” @PTKu ์ž…๋‹ˆ๋‹ค .
ํ•ด๊ฒฐ, Inxton์œผ๋กœ ๋‹ค์‹œ ์ปดํŒŒ์ผ,
๋‚ด๊ฐ€ ์ฒจ๋ถ€ํ•œ ์ฒซ ๋ฒˆ์งธ ์‚ฌ์ง„์ธ GitHub ํ”„๋กœ์ ํŠธ XaeTcOpen101์—์„œ ์˜ค๋ฅ˜๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?
๊ฐ์‚ฌ

@runtimevic 'null'์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ์ปฌ์ธ ๊ฒฝ์šฐ "your-ams-id" ๋ฌธ์ž์—ด์„ ๋Œ€์ƒ์˜ AMD ID๋กœ ๋ฐ”๊ฟ”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

13๋ฒˆ์งธ ์ค„์—์„œ:

~C#// ์˜ˆ์‹œ:์ •์  ๋ฌธ์ž์—ด AMS_ID = "192.168.0.2.1.1" ;~

// ํƒ€๊ฒŸ์ด ๋กœ์ปฌ์ด๋ฉด
~C#์ •์  ๋ฌธ์ž์—ด AMS_ID = null;~

/TcOpen101/TcOpenPlcConnector/Properties/Secrets.cs ํŒŒ์ผ์—

๋‹น์‹ ์€ ์ˆ˜์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค

~ C#๊ณต๊ฐœ ์ •์  ํด๋ž˜์Šค ๋น„๋ฐ€{๊ณต๊ฐœ const ๋ฌธ์ž์—ด pwd = -"๊ท€ํ•˜์˜_elastic_password"-;}~

~์™€ ํ•จ๊ป˜

~ C#๊ณต๊ฐœ ์ •์  ํด๋ž˜์Šค ๋น„๋ฐ€{public const string pwd = "runtimevic ํƒ„๋ ฅ์  ์•”ํ˜ธ";}~

์ ์ ˆํ•œ ๊ฐ’์œผ๋กœ ๊ฐ•์ œ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์˜๋„์ ์œผ๋กœ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋‚จ๊ฒจ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

@runtimevic 'null'์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ์ปฌ์ธ ๊ฒฝ์šฐ "your-ams-id" ๋ฌธ์ž์—ด์„ ๋Œ€์ƒ์˜ AMD ID๋กœ ๋ฐ”๊ฟ”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

13๋ฒˆ์งธ ์ค„์—์„œ:

// example:
static string AMS_ID = "192.168.0.2.1.1" ;

// ํƒ€๊ฒŸ์ด ๋กœ์ปฌ์ด๋ฉด

static string AMS_ID = null;

/TcOpen101/TcOpenPlcConnector/Properties/Secrets.cs ํŒŒ์ผ์—

๋‹น์‹ ์€ ์ˆ˜์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค

public static class Secrets
{
     public const string pwd = -"your_elastic_password"-;
}

~์™€ ํ•จ๊ป˜

public static class Secrets
{
     public const string pwd = "runtimevic elastic password";
}

์ ์ ˆํ•œ ๊ฐ’์œผ๋กœ ๊ฐ•์ œ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์˜๋„์ ์œผ๋กœ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋‚จ๊ฒจ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @PTKu ์ž…๋‹ˆ๋‹ค .

๋‹น์‹ ์ด ๋‚˜์—๊ฒŒ ๋ณด๋‚ธ ๋ชจ๋“  ๊ฒƒ์ด ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.
var plc = ์ƒˆ๋กœ์šด TcOpenPlcTwinController(
์ฐธ๊ณ ํ•˜์‹œ๋ผ๊ณ  ์‚ฌ์ง„์ฒจ๋ถ€ํ•˜๋Š”๋ฐ ์™œ ์ž˜๋ชป๋œ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค์š”

TcOpen_not_compilePNG

@runtimevic ์ด ์Šค๋ ˆ๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ์—์„œ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ๋ฌป๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜์— ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์ƒ์„ฑํ•œ *.g.cs ํŒŒ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด VS์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜์— ๋ณต์‚ฌํ•ด์•ผ ํ•˜๋Š” 'ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ์ฝ˜์†”'์„ ์—ด๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ๋˜๋ฉด ์Šคํฌ๋ฆฐ์ƒท์„ ๋ณด๋‚ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

@runtimevic
ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ์ฝ˜์†” ์—ด๊ธฐ:
image

ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์—์„œ ๋‹ค์Œ์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
image

๊ทธ๋Ÿฐ ๋‹ค์Œ inxton ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

@runtimevic ์—ฌ๊ธฐ์— ํฌํ•จ๋œ ๋ชจ๋“  ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

@runtimevic ์˜คํ”ˆ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ์ฝ˜์†”:image

ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์—์„œ ๋‹ค์Œ์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.image

๊ทธ๋Ÿฐ ๋‹ค์Œ inxton ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์•ˆ๋…•ํ•˜์„ธ์š” @PTKu ์ž…๋‹ˆ๋‹ค .
๋ชจ๋‘ ์ž˜ ํ•ด๊ฒฐ๋˜์—ˆ์–ด์š” ๋น ๋ฅธ ๋‹ต๋ณ€ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘๐Ÿ‘๐Ÿ˜‰
ELK Elasticsearch, Logstash ๋ฐ Kibana ์‹คํ–‰ ํŒŒ์ผ์„ ์–ด๋””์—์„œ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๊นŒ?
https://www.elastic.co/es/downloads/kibana
https://www.elastic.co/es/downloads/logstash
https://www.elastic.co/es/downloads/elasticsearch
์ด ๋งํฌ ์ค‘ ๋‹ค์šด๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?
์ •๋ง ๊ณ ๋งˆ์›Œ์š”, ๋น…ํ† ๋ฅด.

@runtimevic ์˜ˆ Victor๋Š” ํ•ด๋‹น ๋งํฌ์—์„œ kibana์™€ elasticsearch๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...
์žฌ๋Ÿ‰์— ๋”ฐ๋ผ ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์œผ์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰