- 依賴套件
- secs4net
- HSMS, Tx TimeOut
- S9系列
SQLite/Postgres + EF Core + Dapper
- secs4net
- PP 要有使用中,編輯中..等等狀態, 並考慮實際的設定
- ProcessProgram 格式還是二維比較好?
- PP是應該可以獨立抽出
- PCB理論是不用Spool和Limit Monitor
- 把資料監控的值依據格式更新到資料庫, 函式庫沒有任何包裝, 請直連資料庫
- HSMS, Communication, Control 的介面
- ProcessProgram管理系統
- 接收 Remote Command 與回應
- Alarm 上報
- S1F1 Are You There
- S1F3 Selected Equipment Status Request
- S1F11 Status Variable Namelist Request
- S1F13 Establish Communications Request
- S1F15 Request OFF-LINE
- S1F17 Request ON-LINE
- S2F13 Equipment Constant Request
- S2F15 New Equipment Constant Send
- S2F17 Date and Time Request
- S2F23 Trace Initialize Send
- S2F25 Loopback Diagnostic Request
- S2F29 Equipment Constant Namelist Request
- S2F31 Date and Time Set Request
- S2F33 Define Report
- S2F35 Link Event Report
- S2F37 Enable/Disable Event Report
- S2F41 Host Command Send
- S5F1 Alarm Report Send
- S5F3 Enable/disable Alarm Send
- S5F5 List Alarms Request
- S5F7 List Enable Alarm Request
- S6F1 Trace Data Send
- S6F11 Event Report Send
- S6F15 Event Report Request
- S6F19 Individual Report Request
- S7F1 Process Program Load Inquire
- S7F3 Process Program Send
- S7F5 Process Program Reques
- S7F17 Delete Process Program Send
- S7F19 Current Process Program Dir Request
- S7F23 Formatted Process Program Send
- S7F25 Formatted Process Program Request
- S10F1 Terminal Request
- S10F3 Terminal Display, Single
- S10F5 Terminal Display, Multi-Block (VTN)
- DefaultCommunicationState: Enable, Disable
- CommHostEqpTrigger
- DefaultControlState: ON_LINE, OFF_LINE
- DefaultOffLineSubstate: EQP_OFF_LINE, ATTEMPT_ON_LINE, HOST_OFF_LINE
- DefaultOnLineFailSubstate: EQP_OFF_LINE, HOST_OFF_LINE
- DefaultOnLineSubState: Remote, Local
不會改變資料狀態,例如S1F1,S1F3,S2F13
%%{init: {'theme':'forest'}}%%
sequenceDiagram
participant SecsHost
participant GemService
participant GemRepository
participant EqpApp
SecsHost->>GemService: Primary Message
opt need to query
GemService->>GemRepository: Query
GemRepository-->>GemService: Return GEM State
end
GemService-->>SecsHost: Secondary Message
%%{init: {'theme':'forest'}}%%
sequenceDiagram
participant SecsHost
participant GemService
participant GemRepository
participant EqpApp
EqpApp->>GemRepository: Update
會改變設備或資料狀態的語句,例如S2F15,S2F33,S2F41,S7F23
%%{
init: {
'theme': 'forest',
'themeVariables': {
'fontSize':'48px'
}
}
}%%
sequenceDiagram
participant SecsHost
participant GemService
participant GemRepository
participant EqpApp
SecsHost->>GemService: Primary Message
GemService->>EqpApp: On Command Received
EqpApp-->>GemService: Return Command Result
alt need to query
GemService->>GemRepository: Query or Command
GemRepository-->>GemService: Return GEM State or Result
else only result
end
GemService-->>SecsHost: Secondary Message
opt State Changed Event
GemService->>GemRepository: Query
GemRepository-->>GemService: Return GEM State
GemService->>SecsHost: Primary Message
SecsHost->>GemService: Secondary Message
end
設備主動發起,例如S6F11, S5F1, S10F1
%%{
init: {
'theme': 'forest',
'themeVariables': {
'fontSize':'48px'
}
}
}%%
sequenceDiagram
participant SecsHost
participant GemService
participant GemRepository
participant EqpApp
EqpApp->>GemService: Eqpipment Initial Req
alt need to query
GemService->>GemRepository: Query or Command
GemRepository-->>GemService: Return GEM State or Result
else only result
end
GemService->>SecsHost: Primary Message
SecsHost->>GemService: Secondary Message
opt Respoonse From Host
GemService->>EqpApp: Result
end
%%{
init: {
'theme': 'forest',
'themeVariables': {
'fontSize':'48px'
}
}
}%%
erDiagram
Variables{
int VID PK
string Format
string DataType
string Value
int ListVID
}
Events{
int ECID PK
bool Enabled
}
Reports{
int RPTID PK
}
EventReportLinks{
int ECID PK, FK
int RPTID PK, FK
}
ReportVariableLinks{
int RPTID PK, FK
int VID PK, FK
}
ReportVariableLinks }o--|| Variables : has
ReportVariableLinks }o--|| Reports :has
EventReportLinks }o--|| Events : has
EventReportLinks }o--|| Reports : has
Variables ||--o{ Variables : ListType