Forum Replies Created
-
AuthorPosts
-
ZeusParticipantit is a good idea thanks
but it will cost plenty to config input channel.
i write a kpdriver to analysis the commonsvc log file and a send status to inputchannels there are four states.you can see it in project code.
i use a master server and many slave servers in a large project. i use gate module to send data between them.
i also write a kpdriver to monitor the tcp status between servers.
i write an big screen project to show tcp state and line state.March 1, 2021 at 3:44 am in reply to: push data to third-party station or another rapid scada station #8344
ZeusParticipantthere is something wrong with module rapid gate. version of server is 5.1.4.1 and version of is 5.1.1.0. there is an error message while server start Error executing actions on server start in module ModRapidGate: Value cannot be null.
Parameter name: format
ZeusParticipanthi
i have an idea. i will write a kpdriver to analysis the commonsvc log file and send the status to input channel. it would help me solve my problem.
is that good ahaha
ZeusParticipanthi 123abc56
you solved my problem,but have you tested dbexport module to save data into other database and i also write a driver to export curdata into influxdb with code oncurdataprocessed. thanks a lot
ZeusParticipantok i see. thanks a lot. hope it come soon. yeah! i have many ideas to design V6 web application.
ZeusParticipanti have solved my porblem,thanks.
install rapidgate on the master server to send command to slave server
ZeusParticipantmy master server could receive commands info from slave server,but while i use generater in master server send commands to the device of slave it won’t work.
ZeusParticipanti set transfer options Incoming command enable and OutComing command enable
ZeusParticipanti have make it work,but i have some question about this module,will the gate module send history data to server while network return to work to keep the data of server complete,for example the network is failed for some reason from 1:00 to 2:00 and back to work at 2:00,will the gate module send data in 1:00 to 2:00 to the server? if i want to realize this function, what should i do?
January 12, 2021 at 1:43 am in reply to: push data to third-party station or another rapid scada station #7976
ZeusParticipanthi Mikhail
my xml file config is below<?xml version=”1.0″ encoding=”utf-8″?>
<ModRapidGate>
<Gate>
<GeneralOptions>
<Active>true</Active>
<ID>1</ID>
<Name>Gate 1</Name>
<MaxQueueSize>1000</MaxQueueSize>
<MaxWaitingTime>3600</MaxWaitingTime>
<DataLifetime>30</DataLifetime>
<OutCnlNum>0</OutCnlNum>
</GeneralOptions>
<ConnectionOptions>
<Host>10.63.24.35</Host>
<Port>10000</Port>
<User>ScadaAdmin</User>
<Password>672C3165774A308878A00927A987C759</Password>
<Timeout>10000</Timeout>
</ConnectionOptions>
<MappingOptions>
<CnlMappings>
<MappingItem localIDs=”101-105″ remoteIDs=”201-205″ />
</CnlMappings>
<OutCnlMappings />
<ObjMappings>
<MappingItem localIDs=”1″ remoteIDs=”1″ />
</ObjMappings>
<DeviceMappings>
<MappingItem localIDs=”1″ remoteIDs=”2″ />
</DeviceMappings>
</MappingOptions>
<TransferOptions>
<CurDataTransferOptions enabled=”true”>
<Trigger>OnTimer</Trigger>
<UseRawData>false</UseRawData>
<SkipUnchangedData>false</SkipUnchangedData>
<IncludeCalculatedCnls>false</IncludeCalculatedCnls>
<TimerPeriod>1000</TimerPeriod>
</CurDataTransferOptions>
<ArcDataTransferOptions enabled=”true”>
<UseRawData>false</UseRawData>
</ArcDataTransferOptions>
<EventTransferOptions enabled=”true” />
<InCmdTransferOptions enabled=”true”>
<PollingRate>1000</PollingRate>
</InCmdTransferOptions>
<OutCmdTransferOptions enabled=”true” />
<ArcUploadOptions enabled=”true”>
<SnapshotType>Min</SnapshotType>
<Delay>10000</Delay>
<MaxAge>1</MaxAge>
</ArcUploadOptions>
</TransferOptions>
</Gate>
</ModRapidGate>and this is my server input channels
<?xml version=”1.0″ encoding=”utf-8″?>
<ArrayOfInCnl xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<InCnl>
<CnlNum>101</CnlNum>
<Active>true</Active>
<Name>Simulator – Sine</Name>
<CnlTypeID>2</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>1</KPNum>
<Signal>1</Signal>
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>3</FormatID>
<UnitID xsi:nil=”true” />
<CtrlCnlNum xsi:nil=”true” />
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>102</CnlNum>
<Active>true</Active>
<Name>Simulator – Square</Name>
<CnlTypeID>1</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>1</KPNum>
<Signal>2</Signal>
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>10</FormatID>
<UnitID>16</UnitID>
<CtrlCnlNum xsi:nil=”true” />
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>103</CnlNum>
<Active>true</Active>
<Name>Simulator – Triangle</Name>
<CnlTypeID>2</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>1</KPNum>
<Signal>3</Signal>
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>3</FormatID>
<UnitID xsi:nil=”true” />
<CtrlCnlNum xsi:nil=”true” />
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>104</CnlNum>
<Active>true</Active>
<Name>Simulator – Relay State</Name>
<CnlTypeID>1</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>1</KPNum>
<Signal>4</Signal>
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>10</FormatID>
<UnitID>16</UnitID>
<CtrlCnlNum>101</CtrlCnlNum>
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>105</CnlNum>
<Active>true</Active>
<Name>Simulator – Analog Output</Name>
<CnlTypeID>2</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>1</KPNum>
<Signal>5</Signal>
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>3</FormatID>
<UnitID xsi:nil=”true” />
<CtrlCnlNum>102</CtrlCnlNum>
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>201</CnlNum>
<Active>true</Active>
<Name>Simulator – Sine2</Name>
<CnlTypeID>2</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>2</KPNum>
<Signal xsi:nil=”true” />
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>3</FormatID>
<UnitID xsi:nil=”true” />
<CtrlCnlNum xsi:nil=”true” />
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>202</CnlNum>
<Active>true</Active>
<Name>Simulator – Square2</Name>
<CnlTypeID>1</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>2</KPNum>
<Signal xsi:nil=”true” />
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>10</FormatID>
<UnitID>16</UnitID>
<CtrlCnlNum xsi:nil=”true” />
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>203</CnlNum>
<Active>true</Active>
<Name>Simulator – Triangle2</Name>
<CnlTypeID>2</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>2</KPNum>
<Signal xsi:nil=”true” />
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>3</FormatID>
<UnitID xsi:nil=”true” />
<CtrlCnlNum xsi:nil=”true” />
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>204</CnlNum>
<Active>true</Active>
<Name>Simulator – Relay State2</Name>
<CnlTypeID>1</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>2</KPNum>
<Signal xsi:nil=”true” />
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>10</FormatID>
<UnitID>16</UnitID>
<CtrlCnlNum>101</CtrlCnlNum>
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
<InCnl>
<CnlNum>205</CnlNum>
<Active>true</Active>
<Name>Simulator – Analog Output2</Name>
<CnlTypeID>2</CnlTypeID>
<ObjNum>1</ObjNum>
<KPNum>2</KPNum>
<Signal xsi:nil=”true” />
<FormulaUsed>false</FormulaUsed>
<Formula />
<Averaging>false</Averaging>
<ParamID xsi:nil=”true” />
<FormatID>3</FormatID>
<UnitID xsi:nil=”true” />
<CtrlCnlNum>102</CtrlCnlNum>
<EvEnabled>false</EvEnabled>
<EvSound>false</EvSound>
<EvOnChange>false</EvOnChange>
<EvOnUndef>false</EvOnUndef>
<LimLowCrash xsi:nil=”true” />
<LimLow xsi:nil=”true” />
<LimHigh xsi:nil=”true” />
<LimHighCrash xsi:nil=”true” />
</InCnl>
</ArrayOfInCnl>my server cannot receive data from rapid gate,could you tell me how to config the server and gate to make it work right,best regards.
-
AuthorPosts