Welcome to Easyiew.kr

Q&A

소프트웨어
하드웨어
by easyview at 2022-11-10, 206 hits
A.






안녕하세요. 이지뷰입니다.


디바이스 추가 시 COM3가 추가되지 않아서 설정할 수가 없다는 말씀이신가요?

EBPro에서 로컬 디바이스를 COM3로 추가하는 방법은 아래와 같습니다.

EBPro 상단의 [홈] 》 [시스템 파라미터] 》 [디바이스/서버 추가] 》 "디바이스 유형" [MODBUS RTU, RTU over TCP] 선택
》 "인터페이스" [RS-485 2W] 》 [설정] 》 COM 번호 [COM3]로 수정 》 통신 속도 등등 통신 설정.

샘플 시스템 세팅하여 작화 파일도 첨부하오니 확인하여 주시기 바랍니다.
(샘플 시스템 작화 파일은 홈페이지 버전인 EBPro V6.07.02.410에서 구성되었습니다.)


이해가 되지 않으시거나, 추가로 문의하실 내용이 있으시다면 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.



by nnm1681 at 2022-11-09, 184 hits
A.



안녕하세요.
오전에 통화 및 메일상 받은 내용으로 시스템도를 그려 보았습니다.
맞는지 확인 부탁 드립니다.
수고 하세
by easyview at 2022-11-09, 198 hits
A.




안녕하세요. 이지뷰입니다.


첨부해 주신 시스템도와 같이 배선을 했을 시 COM1와 COM3를 나눠서 PLC와 컨트롤러 동시 통신이 가능합니다.

COM1은 LS XBM-DR16S와 485 Cnet 통신을 진행해 주시고
COM3는 온도 컨트롤러와 485 MODBUS RTU 통신을 진행해 주시기 바랍니다.


이해가 되지 않으시거나, 추가로 문의하실 내용이 있으시다면 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.


by cole3512 at 2022-11-09, 189 hits
A.



수치 오브젝트를 사용중에 문제가 있어서 문의드립니다.

데이터는 PLC 에서 들어오고 연산은 이지뷰에서 할려고합니다. (PLC 메모리 용량이 부족합니다...)

PLC 주소 = MW 50
이지뷰 RW 50 (연산식을 위한 주소)
이지뷰 LW 50 (연산후 저장 주소)

MW50 데이터가 0~5000 이라는 값이 들어옵니다 이 데이터를 가공해서 저장하는 목적입니다.
처음에 스케일링을 통해 하려고 하다 매크로 라는것을 알게되었고 매크로를 통해 연산을 하는 중 문제가 있어 문의입니다.

 LW = RW * (MW / 5000 ) 연산을 했을때 정수로 계산을 해버리니 계산이 안됩니다. 
 
최대값 최소값 상한값 하한값을 설정해서 연산되는 스케일링 또는 함수가 있으면 좋을텐데 없는거같습니다..


0~5000 이라는 값을 0~100 으로 스케일링 해야합니다. (꼭 0~100이 아니며 RW값의 의해 달라지게 해야합니다.)

혹시 매크로나 함수나 다른 방법이 있을까요??
by easyview at 2022-11-09, 263 hits
A.




안녕하세요. 이지뷰입니다.


문의해 주신 내용이 해결되었다는 내용은 답글로 확인됐습니다.

추가로 문의하실 내용이 있으시다면 Q&A 또는 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.


by wleodrnjs77 at 2022-11-08, 202 hits
A.



프로그램 파일 열기를 하면

첨부파일과 같이 

메모리가 부족합니다.

라는 팝업창이 나오는데

메모리를 어떻게 줄일수 있나요?

A.


안녕하세요. 이지뷰입니다.


첨부해 주신 사진의 오류 팝업창은 EBPro 소프트웨어 내에서 발생하는 문제로 판단하기가 어렵습니다.

PC 쪽 메모리 용량을 확인해 주시고 용량이 부족하다면 디스크 정리를 하여 공간 확보를 하신 후
EBPro를 다시 실행해 보시기 바랍니다.


그럼에도 문제가 해결되지 않으신다면 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.

by tjdandydtk at 2022-11-08, 282 hits
A.



감사합니다 앞 전 문제는 램프 여러개를 한곳에 배치하여 각각 알람이 올 때 다른 램프가 켜지게끔 설정을 해두었습니다.

알람이 왔을 때 릴레이 출력을 해야하는데 

if alarm == 1 then

bz =1 
lamp 1

setdata(bz, ~~~~~~
setdata(lamp, ~~~~~~


이렇게 셋팅 해둔 뒤

HMI상에 BZ STOP 램프비트스위치를 하나 만들었는데요

alarm이 1이고 bs를 눌렀을때 1 신호가 들어가서

램프만 off

하려고 하는데

자기유지가 안돼서 그런지 lamp 릴레이가 off 되었다가 다시 릴레이 출력이 나가더라구요

ST언어에서 자기유지 하는 방법 좀 알려 주시면 감사드립니다.

감사합니다.
by easyview at 2022-11-08, 223 hits
A.


안녕하세요. 이지뷰입니다.


자기유지하는 방법을 매크로 문으로 작성한 예시는 아래와 같습니다.

bool a,b,c

GetData(a,"Local HMI",LB,0,1)
GetData(b,"Local HMI",LB,1,1)

if a and not b == 1 then

c = 1
SetData(c,"Local HMI",LB,2,1)

else if c and not b == 1 then

c = 1
SetData(c,"Local HMI",LB,2,1)

else 

c = 0
SetData(c,"Local HMI",LB,2,1)

end if

위 내용은 래더를 기반으로 기본적으로 작성된 자기유지 매크로 예시이기 때문에 참고하여 매크로를 작성해 주시기 바랍니다.


이해가 되지 않으시거나, 추가로 문의하실 내용이 있으시다면 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.
A.



현재온도가 설정온도에 도달 했을 때의 날자를 기록하고 싶습니다
A.




안녕하세요. 이지뷰입니다.


문의해 주신 현재 온도가 설정 온도에 도달했을 때의 날짜를 기록해 주는 기능은 EBPro의 [매크로] 기능을 사용해 주어야 합니다.

[매크로] 기능은 EBPro 상단의 [프로젝트] 》 [매크로] 》 [추가...] 》 [작업 공간]에서
구현할 기능에 맞게 [매크로] 구문을 작성해 주시면 됩니다.

현재 온도가 설정 온도에 도달했을 때의 날짜를 기록해야 하기 때문에
현재 온도, 설정 온도를 변수 지정한 뒤 if문을 사용하여 if 현재 온도 == 설정 온도일 때,
HMI 시간(시스템 태그 주소 : LW-9017(초)~LW-9022(년))을 다른 주소로 보낸 후에
터치 화면에서는 그 주소를 [수치] 오브젝트로 표시하는 방식으로 기능을 구현해 주시기 바랍니다.

if문 문법의 경우 이지뷰 홈페이지 상단의 [Download] 》 [Demo project] 》 [매크로 예제]를 다운로드하여 참고해 주시기 바랍니다.


이해가 되지 않으시거나, 추가로 문의하실 내용이 있으시다면 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.

by clfhr1 at 2022-11-07, 279 hits
A.



안녕하세요

기술담당자님들 덕분에 테스트 잘 해보고있습니다. 감사합니다.

이전에 문의드렸었던것들은 잘 되고있습니다.

현재 터치판넬과 PC가 같은 공유기에 랜선으로 연결되어있을때는 잘 되는데요.

터치판넬과 PC가 멀리 떨어져있는경우에, 같은공유기에 연결 안되어있을때도 FTP 백업기능을 사용할수 있을까요?

터치판넬에 LTE라우터(CNR-L500W)가 장착되어있고, PC 는 PC 따로 유선인터넷에 연결되어있는데

PC에 IPTIME 공유기가 연결되어있어서 IPTIME 설정에서 DDNS와 포트포워딩 설정을 좀 해보았는데

좀 검색해보면서 설정해보았는데 이렇게는 백업버튼을 눌러도 PC랑 연결이 안되는건지 저장이 안되네요.

터치판넬과 PC가 멀리 떨어져있을때 무선으로 백업 FTP 기능을 사용하려면 어떻게해야하는지

도움좀 부탁드리겠습니다.

감사합니다.


by easyview at 2022-11-07, 149 hits
A.




안녕하세요. 이지뷰입니다.


본사에서 USB 테더링을 이용하여 테스트를 진행한 결과 정상적으로 FTP 백업이 진행됩니다.

포트포워딩을 진행할 시에는 아래의 포트 번호들을 참고하여 기입해 주시기 바랍니다.

HTTP 80 (TCP), HTTPS 443
COM 8000 (TCP), FTP 21 (TCP)
Server 10763 (TCP)
HMI 10275 (UDP)
Webview 5800 (TCP)

무선 백업 결과는 환경이나 제품의 스펙 따라 다르기 때문에 공유기의 스펙을 확인 후 테스트 진행하시는 것을 권유 드립니다.


이해가 되지 않으시거나, 추가로 문의하실 내용이 있으시다면 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.




by clfhr1 at 2022-11-04, 186 hits
A.



안녕하세요

기술담당자님들 덕분에 테스트 잘 해보고있습니다. 감사합니다.

터치판넬에서 FTP 기능을 사용중에 있는데

터치판넬이 LTE 라우터에 연결되어있고,

서버 PC가 다른 인터넷망(공유기)에 연결되어 있을때도

터치판넬에서 PC로 FTP기능을 사용해 백업할수 있나요?

제가 '외부인터넷망 FTP' 관련해서 검색해서 설정을 해보았는데

잘 안되네요. 같은 인터넷망 (같은공유기)에 연결해놓았을때는 '백업 FTP기능'이 이제는 잘 됩니다.

수정할부분이나 도움좀 부탁드릴게요 스샷 첨부합니다

감사합니다.
by clfhr1 at 2022-11-04, 189 hits
A.


그리고 혹시

외부인터넷망을 통한 FTP는 안된다면

샘플링데이터 백업을 무선으로 PC로 저장하는 방법이 있을까요?
by easyview at 2022-11-04, 192 hits
A.


안녕하세요. 이지뷰입니다.


설명해 주신 것만으로는 어떤 기능 구현을 원하시는지 판단이 어렵습니다.
포트포워딩 및 더 자세한 설명과 기술 지원을 위해 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.

by tjdandydtk at 2022-11-04, 204 hits
A.




plc 컴파일테크놀로지 사용 중입니다.

온도 제어를 하려고 하는데 

모듈 1개당 4채널 총 8모듈 사용중입니다. (총 32개)

설정값에 도달하면 워드램프 LW, 14, 1 알람이 오게끔 설정해두었는데

32개를 묶어서 매크로 지정을 하니 알람이 다시 또 안되네요

자문 좀 부탁 드리겠습니다 감사합니다.

=============================================================
macro_command main()

short re1, la1, alarm, re2, la2

GetData(re1, "Local HMI", LW, 11, 1) // HMI 데이터 읽기
GetData(la1, "Local HMI", LW, 1000, 1) // HMI 데이터 읽기

if re1 < 0 and la1 < 0 then

re1 * -1 == re2
la1 * -1 == la2

end if

if re2 >= la2 then

alarm = 1

SetData(alarm, "Local HMI", LW, 14, 1)

else if re2 < la2 then

alarm = 0

SetData(alarm, "Local HMI", LW, 14, 1)

end if


if re1 <= la1 then

alarm = 1

SetData(alarm, "Local HMI", LW, 14, 1)

else if re1 > la1 then

alarm = 0

SetData(alarm, "Local HMI", LW, 14, 1)

end if

end macro_command
by easyview at 2022-11-04, 179 hits
A.


안녕하세요. 이지뷰입니다.


우선 구문 그대로 매크로를 실행하였을 시 정상적으로 알람이 동작되지 않습니다.

re1 * -1 == re2
la1 * -1 == la2

위 구문은 "==" 부호가 쓰였습니다.
ex) A == B => A와 B가 같다. 라는 조건식일 때 쓰이고 이 구문에서 필요로 하는 조건식은 아니며, 사용을 했을 땐 알람이 동작하지 않습니다.

정상적인 예는 아래와 같습니다.

re2 = re1 * -1
la2 = la1 * -1 

위 구문은 "=" 부호가 쓰였고 사용을 했을 때 알람이 정상 동작됩니다.
ex) A = B => B는 A다. 라는 조건식이며, 연산식이 꼭 뒤에 배치되어야 합니다. ex) A(re2) = B(re1 * -1)


이해가 되지 않으시거나, 추가로 문의하실 내용이 있으시다면 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.

by tjdandydtk at 2022-11-04, 191 hits
A.



답변 주신 글 잘 읽어 보았습니다..

지금 매크로를 이렇게 지정해서 오프라인 test시 

1번을 건드리면 램프가 동작을 하는데 다른 3,5,7, --- 건드리면 램프 동작을 안하네요

3,5,7,9 --- 항목을 else if 말고 end if 후 다시 if문을 걸어도 동작이 안됩니다..

혹시 if문 말고 다른 함수를 사용하여야 하나요?



===============================================================================================
macro_command main()

short re1, la1, re2, la2, re3, la3, re4, la4, re5, la5, re6, la6, re7, la7, re8, la8, re9, la9, re10, la10, re11, la11, re12, la12, re13, la13, re14, la14, re15, la15, re16, la16, re17, la17, re18, la18, re19, la19, re20, la20, re21, la21, re22, la22, re23, la23, re24, la24, re25, la25, re26, la26, re27, la27, re28, la28, re29, la29, re30, la30, re31, la31, re32, la32, re33, la33, re34, la34, re35, la35, re36, la36, re37, la37, re38, la38, re39, la39, re40, la40, re41, la41, re42, la42, re43, la43, re44, la44, re45, la45, re46, la46, re47, la47, re48, la48, re49, la49, re50, la50, re51, la51, re52, la52, re53, la53, re54, la54, re55, la55, re56, la56, re57, la57, re58, la58, re59, la59, re60, la60, re61, la61, re62, la62, re63, la63, re64, la64, alarm, alarm2

GetData(re1, "Local HMI", LW, 11, 1) // HMI 데이터 읽기
GetData(la1, "Local HMI", LW, 1000, 1) // HMI 데이터 읽기

GetData(re3, "Local HMI", LW, 21, 1) // HMI 데이터 읽기
GetData(la3, "Local HMI", LW, 1001, 1) // HMI 데이터 읽기

GetData(re5, "Local HMI", LW, 31, 1) // HMI 데이터 읽기
GetData(la5, "Local HMI", LW, 1002, 1) // HMI 데이터 읽기

GetData(re7, "Local HMI", LW, 41, 1) // HMI 데이터 읽기
GetData(la7, "Local HMI", LW, 1003, 1) // HMI 데이터 읽기

GetData(re9, "Local HMI", LW, 51, 1) // HMI 데이터 읽기
GetData(la9, "Local HMI", LW, 1004, 1) // HMI 데이터 읽기

GetData(re11, "Local HMI", LW, 61, 1) // HMI 데이터 읽기
GetData(la11, "Local HMI", LW, 1005, 1) // HMI 데이터 읽기

GetData(re13, "Local HMI", LW, 71, 1) // HMI 데이터 읽기
GetData(la13, "Local HMI", LW, 1006, 1) // HMI 데이터 읽기

GetData(re15, "Local HMI", LW, 81, 1) // HMI 데이터 읽기
GetData(la15, "Local HMI", LW, 1007, 1) // HMI 데이터 읽기

GetData(re17, "Local HMI", LW, 111, 1) // HMI 데이터 읽기
GetData(la17, "Local HMI", LW, 1008, 1) // HMI 데이터 읽기

GetData(re19, "Local HMI", LW, 121, 1) // HMI 데이터 읽기
GetData(la19, "Local HMI", LW, 1009, 1) // HMI 데이터 읽기

GetData(re21, "Local HMI", LW, 131, 1) // HMI 데이터 읽기
GetData(la21, "Local HMI", LW, 1010, 1) // HMI 데이터 읽기

GetData(re23, "Local HMI", LW, 141, 1) // HMI 데이터 읽기
GetData(la23, "Local HMI", LW, 1011, 1) // HMI 데이터 읽기

GetData(re25, "Local HMI", LW, 151, 1) // HMI 데이터 읽기
GetData(la25, "Local HMI", LW, 1012, 1) // HMI 데이터 읽기

GetData(re27, "Local HMI", LW, 161, 1) // HMI 데이터 읽기
GetData(la27, "Local HMI", LW, 1013, 1) // HMI 데이터 읽기

GetData(re29, "Local HMI", LW, 171, 1) // HMI 데이터 읽기
GetData(la29, "Local HMI", LW, 1014, 1) // HMI 데이터 읽기

GetData(re31, "Local HMI", LW, 181, 1) // HMI 데이터 읽기
GetData(la31, "Local HMI", LW, 1015, 1) // HMI 데이터 읽기

GetData(re33, "Local HMI", LW, 211, 1) // HMI 데이터 읽기
GetData(la33, "Local HMI", LW, 1016, 1) // HMI 데이터 읽기

GetData(re35, "Local HMI", LW, 221, 1) // HMI 데이터 읽기
GetData(la35, "Local HMI", LW, 1017, 1) // HMI 데이터 읽기

GetData(re37, "Local HMI", LW, 231, 1) // HMI 데이터 읽기
GetData(la37, "Local HMI", LW, 1018, 1) // HMI 데이터 읽기

GetData(re39, "Local HMI", LW, 241, 1) // HMI 데이터 읽기
GetData(la39, "Local HMI", LW, 1019, 1) // HMI 데이터 읽기

GetData(re41, "Local HMI", LW, 251, 1) // HMI 데이터 읽기
GetData(la41, "Local HMI", LW, 1020, 1) // HMI 데이터 읽기

GetData(re43, "Local HMI", LW, 261, 1) // HMI 데이터 읽기
GetData(la43, "Local HMI", LW, 1021, 1) // HMI 데이터 읽기

GetData(re45, "Local HMI", LW, 271, 1) // HMI 데이터 읽기
GetData(la45, "Local HMI", LW, 1022, 1) // HMI 데이터 읽기

GetData(re47, "Local HMI", LW, 281, 1) // HMI 데이터 읽기
GetData(la47, "Local HMI", LW, 1023, 1) // HMI 데이터 읽기

GetData(re49, "Local HMI", LW, 311, 1) // HMI 데이터 읽기
GetData(la49, "Local HMI", LW, 1024, 1) // HMI 데이터 읽기

GetData(re51, "Local HMI", LW, 321, 1) // HMI 데이터 읽기
GetData(la51, "Local HMI", LW, 1025, 1) // HMI 데이터 읽기

GetData(re53, "Local HMI", LW, 331, 1) // HMI 데이터 읽기
GetData(la53, "Local HMI", LW, 1026, 1) // HMI 데이터 읽기

GetData(re55, "Local HMI", LW, 341, 1) // HMI 데이터 읽기
GetData(la55, "Local HMI", LW, 1027, 1) // HMI 데이터 읽기

GetData(re57, "Local HMI", LW, 351, 1) // HMI 데이터 읽기
GetData(la57, "Local HMI", LW, 1028, 1) // HMI 데이터 읽기

GetData(re59, "Local HMI", LW, 361, 1) // HMI 데이터 읽기
GetData(la59, "Local HMI", LW, 1029, 1) // HMI 데이터 읽기

GetData(re61, "Local HMI", LW, 371, 1) // HMI 데이터 읽기
GetData(la61, "Local HMI", LW, 1030, 1) // HMI 데이터 읽기

GetData(re63, "Local HMI", LW, 381, 1) // HMI 데이터 읽기
GetData(la63, "Local HMI", LW, 1031, 1) // HMI 데이터 읽기

GetData(alarm, "Local HMI", LW, 14, 1)

if re1 < 0 and la1 < 0 then
re2 = re1 * -1
la2 = la1 * -1
else if re2 >= la2 then
alarm = 1
else if re2 < la2 then
alarm = 0
else if re3 < 0 and la3 < 0 then
re4 = re3 * -1
la4 = la3 * -1
else if re4 >= la4 then
alarm = 1
else if re4 < la4 then
alarm = 0

else if re5 < 0 and la5 < 0 then
re6 = re5 * -1
la6 = la5 * -1
else if re6 >= la6 then
alarm = 1
else if re6 < la6 then
alarm = 0

else if re7 < 0 and la7 < 0 then
re8 = re7 * -1
la8 = la7 * -1
else if re8 >= la8 then
alarm = 1
else if re8 < la8 then
alarm = 0

else if re9 < 0 and la9 < 0 then
re10 = re9 * -1
la10 = la9 * -1
else if re10 >= la10 then
alarm = 1
else if re10 < la10 then
alarm = 0

else if re11 < 0 and la11 < 0 then
re12 = re11 * -1
la12 = la11 * -1
else if re12 >= la12 then
alarm = 1
else if re12 < la12 then
alarm = 0

else if re13 < 0 and la13 < 0 then
re14 = re13 * -1
la14 = la13 * -1
else if re14 >= la14 then
alarm = 1
else if re14 < la13 then
alarm = 0
SetData(alarm, "Local HMI", LW, 14, 1)
end if


if re1 >= 0 and la1 >= 0 then
else if re1 <= la1 then
alarm = 1
else if re1 > la1 then
alarm = 0
else if re3 >= 0 and la3 >= 0 then
else if re3 <= la3 then
alarm = 1
else if re3 > la3 then
alarm = 0

else if re5 >= 0 and la5 >= 0 then
else if re5 <= la5 then
alarm = 1
else if re5 > la5 then
alarm = 0

else if re7 >= 0 and la7 >= 0 then
else if re7 <= la7 then
alarm = 1
else if re7 > la7 then
alarm = 0

else if re9 >= 0 and la9 >= 0 then
else if re9 <= la9 then
alarm = 1
else if re9 > la9 then
alarm = 0

else if re11 >= 0 and la11 >= 0 then
else if re11 <= la11 then
alarm = 1
else if re11 > la11 then
alarm = 0

else if re13 >= 0 and la13 >= 0 then
else if re13 <= la13 then
alarm = 1
else if re13 > la13 then
alarm = 0
SetData(alarm, "Local HMI", LW, 14, 1)
end if



if alarm == 1 then

alarm2 = 1

SetData(alarm2, "Local HMI", LW, 15, 1)

else if alarm == 0 then

alarm2 = 0

SetData(alarm2, "Local HMI", LW, 15, 1)

end if

end macro_command
by easyview at 2022-11-04, 185 hits
A.


안녕하세요. 이지뷰입니다.


문의해 주신 매크로 문은 전체적으로 오작동이 될 만한 요소가 많아 보입니다.

우선 시작점인 if 문에서 마지막 else if 문 전까지는 조건에 맞는 문 하나만 동작을 하기 때문에 
1번을 건드리면 램프가 동작을 하는데 다른 3,5,7, --- 을 건드리면 램프 동작을 안 하는 이유는
조건이 맞았을 때 문장이 end if로 끝나버리기 때문에 발생하는 현상 같습니다.

예를 들어

if re1 < 0 and la1 < 0 then
re2 = re1 * -1
la2 = la1 * -1
else if re2 >= la2 then
alarm = 1
else if re2 < la2 then
alarm = 0

위 구문만 봐도 alarm이 무조건 0 또는 1이 되어 버리기 때문에 둘 중의 조건 중 하나만 맞는다고 해도 if 문이 끝나버리며,
나머지 밑에 있는 구문들은 동작조차도 안 하고 넘어가버리게 됩니다.

또한 저 많은 구문들이 정상 동작을 한다고 하여도 LW-14에 0이나 1이 반복적으로 들어가기 때문에 겹치지 않기 위해
구문별로 각각 값을 받을 워드 주소( ex) LW-14 )를 따로 지정하여 주시기 바랍니다.

추가로 조건 문마다 if, else if, end if 문을 사용한 후 다음 조건문이 나올 때마다 다시 if 문을 사용하여 각각 구문을 작성해 주시거나
else if 문마다 각각 setdata를 모두 삽입하여 값을 써주시기 바랍니다.


이해가 되지 않으시거나, 추가로 문의하실 내용이 있으시다면 본사(02-2066-8121)로 문의주시기 바랍니다.

감사합니다.

 [2] [3] [4] [5] 6 [7] [8] [9] [10] [11]