์๋
ํ์ธ์,
TcOpen_the_Vortex_Builder_does_not_exists?
๋ณด์ฌ๋๋ฆฌ๊ธฐ ์ํด ์ฌ์ง์ ์ฒจ๋ถํ๋๋ฐ ์ด๋ป๊ฒ ์์ ํ๋์?
๊ฐ์ฌ
์๋
ํ์ธ์ @PTKu
๋๋ ํ
์คํธ๋ฅผ ์ํด ์ฒ์๋ถํฐ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์๊ณ ์ด์จ๋ ๋๋ Twincat์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฏฟ์ง ์์ต๋๋ค. ๋น์ ์ด ๊ทธ๊ฒ์ ๋ณผ ์ ์๋๋ก ์ฌ์ง์ ์ฒจ๋ถํฉ๋๋ค
์ด๋ป๊ฒ ๊ณ ์ณ์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ด...
์๋
ํ์ธ์ @PTKu
์ฑ๊ณตํ๋๋ฐ PLC ํ๋ก์ ํธ๋ฅผ ์ถ๊ฐํ ๋ PLC ์ด๋ฆ์ ์ง์ ํ ์ ์๋ค๋ ๋ฌธ์ ๊ฐ ์๋๋ฐ,
๋ณด์ฌ๋๋ฆฌ๊ธฐ ์ํด ์ฌ์ง์ ์ฒจ๋ถํฉ๋๋ค.
์ด์ ๊ณ์ํ ์ ์์ต๋๋ค ...
์๋
ํ์ธ์ @PTKu ์
๋๋ค .
๋ ๋งํ์ด
plc.MAIN._simpleContext๋ ์ ์๋ฅผ ํฌํจํ์ง ์์ต๋๋ค.
์ฌ์ง์ฒจ๋ถํ๋๋ฐ ์ด๋ป๊ฒ ์์ ๋๋์?
@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(
์ฐธ๊ณ ํ์๋ผ๊ณ ์ฌ์ง์ฒจ๋ถํ๋๋ฐ ์ ์๋ชป๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋ค์
@runtimevic ์ด ์ค๋ ๋์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์์ ์ปดํ์ผ ์ค๋ฅ์ ๋ํด ๋ฌป๊ณ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค.
์๋ฃจ์
์ ์ปดํ์ผ๋ฌ์์ ์์ฑํ *.g.cs
ํ์ผ์ด ์์ต๋๋ค. ์ปดํ์ผ๋ฌ๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ ๋ฉ์์ง๊ฐ ํ์๋๋ฉด VS์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์
๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ๋ฐ๋ฅธ ์์น์ ๋ณต์ฌํด์ผ ํ๋ 'ํจํค์ง ๊ด๋ฆฌ์ ์ฝ์'์ ์ด๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ์ฅ์ ์ฌ์ฉํ์ฌ ์คํํ ์ ์์ด์ผ ํฉ๋๋ค. ์๊ฐ์ด ๋๋ฉด ์คํฌ๋ฆฐ์ท์ ๋ณด๋ด๋๋ฆฌ๊ฒ ์ต๋๋ค.
@runtimevic
ํจํค์ง ๊ด๋ฆฌ์ ์ฝ์ ์ด๊ธฐ:
ํจํค์ง ๊ด๋ฆฌ์์ ๋ค์์ ์ฐพ์์ผ ํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ inxton ์ปดํ์ผ๋ฌ๋ฅผ ์คํํ์ญ์์ค.
@runtimevic ์ฌ๊ธฐ์ ํฌํจ๋ ๋ชจ๋ ๋ฐ์ด๋๋ฆฌ๊ฐ ํฌํจ๋ ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ ์๋ ์์ต๋๋ค.
@runtimevic ์คํ ํจํค์ง ๊ด๋ฆฌ์ ์ฝ์:
ํจํค์ง ๊ด๋ฆฌ์์ ๋ค์์ ์ฐพ์์ผ ํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ 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๋ฅผ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค...
์ฌ๋์ ๋ฐ๋ผ ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ผ์ญ์์ค.