Niagara Framework - Services(AlarmService)

이미지
개요 Study of AlarmService in Niagara Framework  Contents 나이아가라 프레임워크의 알람 서비스 나이아가라 프레임워크는 많은 서비스를 탑재하고있다. 또한 추가로 서비스를 더 탑재할 수도 있다. 본 내용에서는 나이아가라 프레임워크에서 기본적으로 제공하는 서비스중 AlarmService에 대해서 알아본다. What is AlarmSerice 알람서비스는 NiagaraFramework 내에서 사용되는 모든 포인트들의 AlarmExtension을 수집한다. 또한 수집한 알람들에 대해 우선순위를 정할 수 있고, 전체 경보들에 대한 분석을 진행할 수 있으며, 알람을 어떻게 운용할지 설정할 수 있다. 알람 서비스 안에는 기본적으로 하나의 알람 클래스가 있으며 모든 알람 설정은 기본적으로 DefaultAlarmClass로 자신의 알람 정보를 보내게 되어있다. <DefaultAlarmClass in AlarmService> <AlarmExtensions in alarm module> How to extend AlarmExtension. 우리는 NumericPoints, BooleanPoints, EnumPoints, StringPoints 등의 여러가지 데이타 포인트들에 Extensions 하부 객체들을 추가할 수 있다. 모든 데이타 포인트들은 AlarmExtensions의 객체를 추가함으로서 경보로서의 가치를 갖게된다.   대부분 읽거나 보면 감으로 "아하~" 하는 수준은 이해가 될 것이다. 다만.. 맨 아랫 부분의 Alarm Class에 대한 이해가좀 필요할듯하여 부연설명을 적어본다. Alarm Class : Default Alarm Class NiagaraFramework의 스테이션의 AlarmService는 기본적으로 Default Alarm Class를 갖고있는다.  그리고 모든 포인트들에 AlarmExtens...

Windows Server 2012 Standard / Core version

이미지
개요 Windows 2012 R2 Server Core 란? 윈도우 서버는 느리고 답답하며, 핫픽스도 자주 발생한다. 이러한 환경을 개선하고자 마이크로소프트에서는 ServerCore 버전을 만들게 된다. Contents

PID control using LoopPoint at KitControls Module

이미지
개요 본문에서는 PID 컨트롤을 왜, 어떻게 해야하는지에 대해 적고자 한다. Niagara Framework를 이용하여 PID제어 하는 방법을 알아보자. Contents PID 컨트롤은 무엇인가 ( What is the PID control)  P : Proportional : 비례  I  : Integral       : 적분  D : Differential  : 미분  비례와 적분, 미분 정보를 조합하여 적정한 수준의 출력값을 결정하는 기법  효과적으로 목표값에 도달하기위해 사용되는 제어의 기법 ON/OFF 제어의 결과 (Result of On/Off Control) <단순 ON/OFF 제어결과 , 출처 : www.inforad.co.kr> P 제어의 결과  (Result of P-Control) <P 제어 결과 , 출처 : www.inforad.co.kr> PD 제어의 결과  (Result of PD-Control) <PD 제어 결과, 출처 : www.inforad.co.kr> PID 제어의 결과  (Result of PID-Control) <PID 제어결과, 출처 : www.inforad.co.kr> PID 제어의 예시 (Example of PID-Control) ...

How to map lighting control at TextEditor in Niagara Framework at once.

이미지
개요 NiagaraWorkbench 를 이용하여 조명제어 프로그램을 제작시 가장 번거로운 작업은 "화면 맵핑"  이다. 릴레이 하나하나를 상태와 기동/정지로 나누어 도면과 일치하게끔 맵핑하고 배치해야한다. 타고난 눈을 갖고있는 사람이 아니라면 매우 고통스러운 시간일 것 이다. 심지어 몇천개의 포인트들을 맵핑해놨는데 모든 포인트명을 변경해야하는 상황이 온다면... 대부분의 엔지니어는 좌절감을 느낄것이다. Contents <조명 오브젝트들> <조명 오브젝트 한개가 갖고있는 속성들> 본론 및 목적  일일이 하나의 조명을 선택하여 네다섯가지의 프로퍼티스를 수정하는 작업은 상상만해도 끔찍하다. (해본사람은 더 잘알겠지만... 안해봐도 알았으면 한다..) 본문에서는 포인트명을 일괄로 변경해야할때. 특히나 까다로운 문자열들을 변경해야할 때 어떻게 해야하는지 알아본다. NiagaraWorkbench는 UI부분을 PX라는 파일을 이용하여 파싱하고 표현해준다. 위에서 보고있는 화면들은 PX 파일을 PX Editor(WYSIWYG EDITOR)로 수정하는 화면이다. PX파일은 Presentation XML파일로 notepad로 열어보면 XML형식의 파일임을 확인할 수 있다. <Presentation XML  : PX file> 목적 : 문자열 변경  Drivers/ModbusTcpNetwork/Light1/1_01_ -> Drivers/ModbusTcpNetwork/Light1/DO/R01_01 Drivers/ModbusTcpNetwork/Light1/1_02_ -> Drivers/ModbusTcpNetwork/Light1/DO/R01_01                               ...

Auto Log in to website using VBS

이미지
개요 웹에 자동으로 로그인하는 프로그램은 사실 위험하다는 생각이다. 하지만 단순히 로컬 인트라넷에서 운영되어지는 몇몇 웹 페이지는 자동로그인이 필요할때가 있다. 개인적으로는 직접 ID와 PW를 치고 들어가는것을 추천하지만 그렇지 않은 사람들이 생각보다 많다. Contents <최종실행화면> 본론 기타 여건들을 배재하고 무조건 자동 로그인이 필요한 경우가 있다. 이러한 경우에 사용할 수 있는 방법에 대해 알아본다. How to automatically log in to web site. 어떻게 해야 자동으로 로그인을 할 수 있을까 여러가지 방법이 있다. 1. wget과같은 프로그램을 이용하여 서버에ID/PW값을 넘겨준다. 2. 키보드가 자동 타이핑되도록하여 ID타이핑,TAB,PW타이핑,Enter타이핑 순서로 SEND 3. JavaScript를 이용하여 ID/PW 필드를 채운 후 action이 되도록 한다. 4. etc.. 기타등등 무궁무진하다. 제작할 프로그램의 기능정리 여러가지 방법들이 있겠지만 내게 필요한 기능을 정리하면 아래와같았다. 1. 바탕화면에서 바로가기를 더블클릭한다. 2. 브라우저가 실행되며 자동으로 로그인이 된다. 3. 로그인 후 볼 수 있는 페이지를 서비스 받는다. VBS란? 위와같은 프로그램을 만들기위해 VBS 를 이용하기로 하였다. Microsoft Visual Basic Scripting Edition (Visual Basic Script) 마이크로소프트에서 제공하는 스크립트 언어이며 bat 비슷하게 사용 가능. bat 파일이 CommandLine 환경이라면 VBS는 좀더 GUI를 컨트롤 할 수 있는 환경제공. Windows는 기본적으로 VBS 실행 환경을 탑재 . VBS는 정상적인 목적을 갖고 있다면 매우 유용할 수 있지만 좋지못한 의도로 사용자의PC를 점거할 수 있으며 내 의지와 다른 무언가를 실행할 수 있는 강력한(?) 언어다. 내가만든 VB...

TimeDate automatically change using cmd file

이미지
개요 Alerton사의 VLC1600을 이용하여 Pulse 신호를 받아보려한다. 안타깝게 옛날버전인 Envision2.6과 Visio2007을 이용하여 진행한다. Contents 자동으로 시간 바꾸고 복귀주는 프로그램 만들기(윈도우) 특정 프로그램들은 날짜나 시간 기반으로 락이 걸려있다. 정품, 혹은 구매하여 사용하는것을 추천하지만 현실적으로 그러지 못한 경우들이 있다. 이런때 우리들은 시간을 과거로 변경하여 프로그램을 실행하곤한다. <시간을 자주 바꿀때 사용하는 timedate.cpl 명렁> 시간을 종종 뒤로 돌려야하는 프로그램을 사용하기에 timedate.cpl 명령어로 빠르게 바꾸곤 하였지만 상당히 번거롭다. 특히나 프로그램과 동시에 웹서치가 필요한때면 크롬 유저로서 매우 난감하다. (날짜가 과거인경우 크롬으로 웹 서핑이 불가능하다.) 이제 우리는 .cmd 파일을 이용하여 무언가 만들것이다. .cmd 파일이란? MS-DOS 시절부터 지금까지 꾸준히 이용되고있는 bat 파일과 사실상 같다. 약간의 차이가 있다면 윈도우98이하에서 .cmd 파일은 실행되지 않는다. 즉. Windows2000부터 확장된 문법이나 명령어들을 .cmd 파일에서 적용할 수 있다. 확장된 명령어가 포함된 .bat 라 보면된다. 본론으로 넘어가.. 이번에는 .cmd 파일을 제작하여 원하는 날짜로 돌리고 오늘 날짜로 쉽게 복구할 수 있는 스크립트를 만들어 보려 한다. (PowerShell을 이용하여 좀더 멋진 프로그램을 만들어보고싶었지만... 역시 귀찮다... 다음에 필요하다면 알아보도록하고...~~~~~) .cmd 작성을 위한 기본 명령어 @echo off : 구문을 화면 출력 하지 않는다 set           : 변수 등록 및 변수에 데이터 저장 echo        : 구문을 화면에 출...

How to set up Windows firewall easily when using Niagara Frameworks.

이미지
개요 나이아가라 프레임워크의 방화벽 설정을 알아보고자 한다. Contents NiagaraFramework를 위한 방화벽 설정 윈도우 환경에서 NiagaraFramework를 원활히 이용하기위해 방화벽 설정을 해주어야한다. 매번 설치할때마다 반복되는 일이며 그렇다고 방화벽을 아예 꺼버리는 행동을 할순 없다. 항상 그렇지만 귀차니즘을 해결하기위해 bat 파일을 이용한 스크립트를 작성하였다. 본 내용에서는 Niagara에서 주로 사용하는 포트 번호와 엔지니어링시 필요한 주요 포트번호 , 그리고 이러한 포트들을 어떻게 쉽게 관리할 것인지에 대해 알아본다. <고급 보안이 포함된 방화벽 설정 화면> 나이아가라프레임워크 사용을 위한 주요 포트번호와 용도 What ports do we need for Niagara Framework engineering? Fox   : 1911 FoxS  : 4911 Platform : 3011 Platform Security : 5011 http : 80 https : 443 ModbusTCP : 502 BacnetIP : 47808 MSTSC : 3389 위의 포트들을 열어놓는다면 엔지니어링시 불편함은 없어보인다. FTP나 SSH, Telnet 등은.. 사실 거의 쓰지 않는다. 이제 위와같이 주로 사용하는 포트를 정리했으니 해당 포트들을 쉽게 예외 처리하는 BAT파일을 만들어본다. Batch파일로 방화벽 쉽게 열기 notepad를 열어 아래의 내용을 넣고 저장한다. 파일명 : Open_UsualPort_Firewall.bat  내용 netsh advfirewall firewall add rule name="kami" dir=in action=allow protocol=tcp localport=80,8080,3011,1911,4911,5011,502,47808,443,3310,6446,6...