gFinger 손끝으로 만드는 세상

S7 manager install Error



Message : "Please reboot before installing any more programs"


참조 : https://support.industry.siemens.com/cs/document/8861819/how-do-you-disable-the-message-please-reboot-before-installing-any-more-programs-?dti=0&lc=en-WW



s7 manager를 설치 할 때 rebooting 하라는 메세지가 계속 나오면 pending된 Program Install 정보가 남아있어서 설치가 되지 않는 것으로 보임.


상기 링크를 보고 Registry를 수정하여 설치 할 수 있음.

** 주의 : Registry를 잘못 수정하면 윈도우에 심각한 문제가 생길 수 있으니 주의 또 주의 해야 합니다.

C# Program을 Real Time 성능에 가깝게





문제점


PLC를 사용하다가 보면 REAL-TIME 응답이 필요한 경우가 많이있습니다.

PLC의 경우 I/O 통신에서 극한적인 경우 1ms 정도, 보통 10~20ms 정도에 응답이 됩니다.

그러나 PC의 경우 하드디스크 억세스, 통신 연결 시도, 통신 실패, 가베지 컬렉션등이 발생하면 심한 경우 몇 초 이상의 딜레이, 지터 (JITTER)가 발생합니다.

PC를 PLC에 연결하여 사용하는 경우 PC는 OS 자체가 REAL-TIME이 아니기 때문에 속도를 요하는 통신 프로그램에서는 더욱 힘듭니다.

근본적으로 PC에 WINDOW는 REAL-TIME OS가 아니기 때문입니다.

따라서 REAL-TIME O/S하에서 PROCESS가 동작해야 해결될 문제입니다.

그래도 아래와 같은 코드를 넣으면 최대한 REAL-TIME에 가깝도록 되기는 합니다.

간단히 실험해 본 결과 10ms THREAD에서 시스템 부하를 조금씩 늘려 본 결과 10ms ~ 12ms 정도로 비교적 양호한 결과를 얻었습니다.



방법


아래와 같이 Program의 Priority를 올려주고 Thread의 Priority를 올려주는 방법을 사용하여 꽤 높은 Real-Time응답을 얻을 수 있었습니다.


 


///////////////////////////////////////////////
// For Real Time
//////////////////////////////////////////////
Process.GetCurrentProcess().PriorityBoostEnabled = true;
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime;

///////////////////////////////////////////////////////////
// For Real Time
///////////////////////////////////////////////////////////
PLCopenThread.Priority = ThreadPriority.Highest;


참조링크

https://stackoverflow.com/questions/12050925/increasing-thread-and-process-priority-to-reduce-execution-time-for-a-processor


'컴퓨터 이야기 > c#' 카테고리의 다른 글

visual studio 빌드 후 이벤트  (0) 2018.11.29
Text File Save Dialog  (0) 2018.06.09
File Name을 선택해서 Text 파일 읽기  (0) 2018.06.09
How to move and resize a form without a border?  (0) 2018.06.09
Form을 Drag해서 이동  (0) 2018.06.09

S7-400 PLC RACK REPLACE


문제점


S7-400 PLC의 RACK을 REPLACE 하는 방법에 대한 설명.

REPLACE 하지 않고 새로 CONFIGRUATION을 구성하면 각 CARD의 PARAMETER와 네트워크 정로를 새로 입력 해야 함.

따라서 기존 CONFIGRUATION을 유지 하면서 RACK을 변경하려면 REPLACE를 해야함.



방법


아래와 같이 RACK에서 MOUSE 오른쪽 버튼을 누르면 ERROR MESSAGE BOX가 나타남.

따라서 마우스 오른쪽 버튼으로는 RACK을 REPLACE 할 수 없음.




아래 그림과 같이 CATALOG에서 RACK 쪽으로 DRAG AND DROP 하면 RACK을 REPLACE 할 수 있음.

이렇게 RACK을 REPLACE 하면 기존 파라메터를 유지 하면서 RACK을 REPLACE 할 수 있음.

당연하지만 CARD 또한 REPLACE를 이용하면 기존 PARAMETER를 유지하면서 교체 할 수 있음.





 

서론

10여 년 전쯤 부 터 PLC를 대체 하는 PC BASED 제어기에 대한 연구와 제어 현장 적용이 급격하게 증가 되었다.


PLC의 비싼 가격 또는 다양한 사용자의 요구, 사용자에 친숙하고 품질이 형상 되면서 일반 PERSONAL COMPUTER를 BASE로 한 제어기의 사용이 증가하게 된 것이다

 

 

PC BASED 제어기가 많이 사용되고 있는 수년간의 추세에 대하여 분명한 장점도 있지만 단점도 있기에 이에 대하여 글을 한번은 쓰고 싶었다.
이러한 제어기를 전혀 사용하지 말라는 이야기가 아니라 어떠한 문제점이 있는지 리뷰를 한번 해보는데 이 글의 의의가 있다.

PC BASED 제어기 문제점

여기에는 OPERATING SYSTEM의 안정성 문제, 하드웨어 문제, 범용성과 개방성 문제 등이 있다.

 

  • OPERATING SYSTEM

 

OPERATING SYSTEM의 경우 대부분 MS WINDOWS BASED SYSTEM을 사용하고 있다.
많이 안정이 된 편이지만 가끔씩 블루 스크린을 표시하고 죽어 버리는 OPERATING SYSTEM의 불안정은 제어기기에서는 있어서는 안 되는 문제점이다.

 

그리고 사용자들이 흔히 겪는 프로그램 응답 없음, 또는 MESSAGE를 표시하고 죽어버리는 프로그램 등의 문제.

 

 

범용 OPERATING SYSTEM의 경우 그 구조가 복잡하고 다양한 구성으로 이루어져야만 모든 사용자의 다양한 욕구를 충족 시켜줄 수 밖에 없어서 위와 같은 문제를 발생 시키기 쉽다.


이러한 문제들은 PC를 제어기기로 사용하기 얼마나 안정적이지 못한 가에 대한 반증이다.


여기에 비해서 PLC의 경우 OPERATING SYSTEM 자체가 제어 시스템에 특화 되고 범용 OPERATING 시스템에 비해 구조가 간단하기 때문에 매우 안정적이다.

 

  • HARDWARE

 

하드웨어 문제는 일반 PC가 여러 가지 다양한 기기들을 지원하기 위한 다양한 하드웨어와 소프트웨어의 구성으로 인해 쉽게 시스템의 크래쉬가 발생 할 수 있다는 점이다.


예를 들면 HARD DISK에 불량 섹터가 발생하여 계속 그 섹터를 ACCESS 하기 시작하면 SYSTEM의 성능이 현저히 저하되는 현상이 발생되며 이러한 현상은 일정한 시간 간격으로 제어 신호를 보내 주어야 하는 제어기기의 특성에는 치명적일 수 밖에 없다.

 

 

또 한가지 예를 들면 PC의 KEYBOARD CONTROLLER 관련 기기의 이상으로 계속 PC에 인터럽터가 발생되어 이를 처리 하기 위해 PC 자체의 성능이 현저히 떨어지는 현상 발생을 예로 들 수 있다.

 

 

 

  • 범용성과 개방성

 

PERSONAL COMPUTER의 범용성은 컴퓨터 바이러스, 너무나 익숙한 그리고 개방적인 시스템의 구조로 인해 쉽게 제어와 관련 없는 프로그램의 실행, 삭제, 설치가 가능 하다는 점이며 이로 인한 시스템의 불안정을 야기 한다.


간단한 방법으로 배치 파일을 만들어 시스템을 무한 루프에 빠지게 한다거나 다운 시키는 일, 또 창을 무한 오픈 시키는 등등의 매우 간단한 방법으로 시스템을 사용 불능 상태로 만드는 방법은 PC의 범용성과 개방적인 구조로 인한 것이다.

 

 

즉, 누구나 SYSTEM ACCESS가 용이하고 또 광범위한 ACCESS가 발생될 수 있는 개방적인 시스템이기 때문에 쉽게 소프트웨어적, 하드웨어적 문제에 빠질 수 있다는 것이다.

PLC의 장점

 

  • OPERATING SYSTEM

 

PLC OPERATING SYSTEM은 제어 기기에 필요한 기능 만을 제공하는 것으로 특화 되어 있으므로 매우 구조가 간단하고 안정적이다.


요즈음의 추세는 PLC 자체도 개방화 다기능화의 추세에 있어 시스템 자원을 잘 관리 하도록 그리고 개발에 편리하도록 OPERATING 시스템의 구조가 복잡하고 다양한 기능을 수용 할 수 있도록 변하고 있다.


보수적으로 보면 이러한 OERATING SYSTEM의 변화는 바람직한 부분이 있는 반면 그로 인한 불안정성이 증가 할 것이며 실제로 현장에서 그러한 것을 직, 간접적으로 경험 했다.


  • HARDWARE

 

PLC는 제어용에 적합하게 제작되었다는 것이 최대의 장점이다.


PLC 구조에 따라 차이가 있겠지만 통신의 예를 들면...


별도의 통신용 CPU가 대부분의 일을 처리하고 제어용 CPU에는 그로 인한 그 부하가 최소한의 영향을 미치도록 설계가 되어있다.


또 위에서 언급 했듯 PERSONAL COMPUTER에서 제일 기초적인 장치인 CD-ROM, KEYBOARD등의 장치들이 제어용 CPU와 직접적으로 연결되어 있을 필요가 없기 때문에 고유한 제어기 자체의 고장 이외의 이유로 PLC의 크래쉬가 발생할 가능성이 없다.


또 PLC는 특성상 BIT LOGIC 연산이 시스템의 가장 중요한 기능이므로 이를 위한 별도의 장치나 프로세서를 적용하여 매우 PROGRAM의 빠른 수행을 가능하게 하기도 한다.

  • 범용성과 개방성

 

PLC OPERATING SYSTEM은 PERSONAL COMPUTER에 비해 다양한 목적으로 사용되지 않고 개발 되지 않았고 그러한 필요성 없기 때문에 범용적이지 않다.


요즘 휴대폰에 까지 바이러스가 있다고 한다.


휴대폰의 개발 시스템이나 OPERATING 시스템이 개방적이고 범용적이 되어 가면서 발생하기 더 쉬워진다.


그러나 PLC는 PERSONAL COMPUTER에 비해 폐쇄적이고 범용적이지 않은 OPERATING SYSTEM이기 때문에 바이러스 등으로 인한 시스템의 피해가 있을 수 없어 안정적이다.

 

결론

급속히 발전해 가는 PERSONAL COMPUTER의 우수한 성능과 품질의 향상으로 개선되는 안정성은 PLC를 대체 하는 시기에 까지 이르렀다. 

‘SIMPLE IS BEST’

PLC와 PC BASED SYSTEM의 비교에 있어서 PLC의 장점에 딱 들어 맞는 말이다.


현재까지는 PC BASED 시스템이 보수적인 PLC의 구조를 능가하지 못한다.


PERSONAL COMPUTER에 비해 구조가 간단하고 특화 되어 있는 PLC가 안정적인 것은 당연한 이야기 이다.


그러나 PC BASED 시스템이 빠른 진화를 계속하는 IT 기술로 인해 더욱 더 안정되고 저 비용의 시스템으로 발전되는 것도 사실이다.


지적하고 싶은 부분은 PC BASED SYSTEM을 도입 하면서 시스템의 안정성에 대해서 무관심 하거나 또는 장점인 가격과 범용성, 개방성을 충분히 살리지 못하는 실수를 충분히 할 수 있다는 점이다.


많은 종류의 PLC와 또 PLC에 비해 범용적인 장점을 가진 PC BASED SYSTEM이 PLC의 영역을 넘나 들고 있다.

어느 시스템에 대한 맹신 보다는 각 시스템의 구조적인 특성으로 인한 장점, 단점을 잘 이해하고  장점을 최대한 살린 응용 분야에 적절히 사용하는 것이 엔지니어와 사용자를 위한 가장 바람직한 방향이다.

'자동화 이야기' 카테고리의 다른 글

전기, 전자 심벌, SVG electrical symbols  (0) 2019.01.09
국산이 좋을까 외산이 좋을까 ?  (1) 2009.03.25
PLC Scan Time 이란  (2) 2009.03.09
지멘스 자동화 자료 사이트  (0) 2008.10.16
DC Motor  (0) 2008.10.05

직업이 전기 쟁이라 기회가 있으면 PLC등에 대한 글을 많이 쓰고 싶었는데 거의 쓰지를 않았다.

 

지금이라도 한번 써볼까 싶어 한번 글을 써본다.

PLC는 컴퓨터로 만들어 진 것 이라.

CPU가 하나 하나 명령어를 순차적으로 읽고 처리 하고 하는 과정으로 동작된다.

동시에 동작하는 일반 전선으로 엮여진 Relay 회로 등과는 이러한 차이점 있는 것이다.

 

그 중에서 PLC Scan Time이란 개념에 대해서 설명 해본다.

 

다음 그림 (A)와 같은 Ladder Program이 있다고 하면

 

PLC는 하나 하나의 접점을 순차적으로 읽어 AND 연산을 한다. (그림이 AND 로 연결 되어 있으니까)

위 그림과 같이 (1-1)에서 (1-4)까지 한번 수행을 하면 한번의 동작이 이루어진다.

다음에도 앞에서 설명한 방법과 동일하게 또 각각의 접점을 읽어 순차적으로 실행 하게 된다.

이때 처음 접점을 읽고 마지막 릴레이 출력까지 내는 시간을 Scan Time이라고 한다.

(실질적으로는 한번 Scan을 하고 다음 또 Scan(program 실행)을 하는 시간이 Scan Time 이다)

실질적으로는 Ladder를 처리 하는 과정에 PLC 내부의 처리나 준비 동작이 더해져서 Scan Time이 정해 지며 Scan Time은 항상 일정하지는 않다.

Scan Time에 대해서는 엄격하게 따지면 다양한 이견이 있을 수 있으나 개념은 위와 같다.