정말 물어볼곳과 물어볼 사람이 없어 이곳까지 흘러들었습니다 ㅜㅜ
특정 수식을 반복해서 계산하는 스크립트를 짜고 있는데 아래와 같습니다
Sub procedure1
Dim uvdose
Dim uvt
Dim h2o2in
Dim rejection
Set uvdose = HMIRuntime.Tags ("UV_DOSE")
Set uvt = HMIRuntime.Tags ("UVT")
Set h2o2in = HMIRuntime.Tags ("h2o2in")
Set rejection = HMIRuntime.Tags("2MIB_REJECTION")
uvdose.read
uvt.read
h2o2in.read
rejection.read
rejection.value = REJ_CAL (uvt.value,uvdose.value,h2o2in.value)
rejection.write
End Sub
Function REJ_CAL (x,y,z)
REJ_CAL = 100*(1-Exp^(-0.01*(-0.001*z^2+0.027*z+0.05)*y))
End Function
참고하실점.
1. VBA가 아닌 특정 프로그램에 포함됨 VBS
2. 컴공과를 나오지도 않았고 랭귀지의 ㄹ자도 모릅니다... 이것도 매뉴얼 보고 몇까지 따라하며 겨우 구현...
질문
1. 아래 볼드체로 된 계산식이 VB상에서 허용되는것인가요?
제곱근형태를 (ex: z^2) 를 완전히 풀어야 계산이 되는듯 합니다.(ex: z^2 -> z*z)
2. 볼드체의 수식중 Exp포함 이후부터 다른 수식에도 반복적으로 사용되는 수식이라
별도의 펑션으로 구성하고 싶은데, Function 내부에서 또 Function 을 불러올수 있나요?
저부분은 별도의 펑션을 만들어서
REJ_CAL = 100*(1-REST) 와 같은 형태로 해봤는데 안되는것 같더라고요...
3. 볼드체의 수식은 같되, 값을 뿌려주는 곳이 다양한데(파란색 부분, Set rejection = HMIRuntime.Tags(여기가 바뀜) )
이 부분을 제가 상상하는것처럼 스스로 바꾸게 할수 있나요?
그게 아니라면 Set 을 계속해서 늘려야하는건가요?
허접한 질문으로 게시판 더럽힌것 같아 죄송합니다 ㅜㅜ
급한일인데 주변에 프로그래머도... 조금이나마 배워서 알만한 컴공과 친구도 없습니다...