配置信息传输
This commit is contained in:
parent
02922e116f
commit
f2f5f4adb4
@ -492,13 +492,6 @@ void ConfigManager::SendCfgToClients() {
|
||||
|
||||
SendAlarmCfg();
|
||||
SendPowderCfg();
|
||||
|
||||
//int index = 0;
|
||||
//auto item = m_ScannerControlCfgDao->m_ScannerControlCfgMap.begin();
|
||||
//while (item != m_ScannerControlCfgDao->m_ScannerControlCfgMap.end()) {
|
||||
// //item->second->SendToClients();
|
||||
// ++item;
|
||||
//}
|
||||
|
||||
m_MoldCfg->SendToClients(MOLDCFGPARAM);
|
||||
m_LoadCfg->SendToClients(LOADCFGPARAM);
|
||||
@ -532,42 +525,60 @@ void ConfigManager::CallFuncs(const ReadData& rd, const list<Item>& lst, ::strea
|
||||
RedTestCfgStart(); break;
|
||||
case REDTESTCFGSTOP:
|
||||
RedTestCfgStop(); break;
|
||||
//case FIXPOINTDAOADD:
|
||||
// FixPointDaoAdd(lst); break;
|
||||
//case FIXPOINTDAODEL:
|
||||
// FixPointDaoDel(lst); break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void ConfigManager::ScanerCtrlCfgReq(const ReadData& rd, const list<Item>& lst, ::stream::ResponseAny** response) {
|
||||
|
||||
stream::ScannerCrtlCfgResp result;
|
||||
auto start = m_ScannerControlCfgDao->m_ScannerControlCfgMap.begin();
|
||||
while(start != m_ScannerControlCfgDao->m_ScannerControlCfgMap.end()) {
|
||||
::stream::ScannerCrtlCfgData* sccfg = result.add_scannercfg();
|
||||
start->second->SetScannerCtrlCfg(sccfg);
|
||||
|
||||
auto fpitem = start->second->m_FixPointWrapper.m_Cfgs.begin();
|
||||
while (fpitem != start->second->m_FixPointWrapper.m_Cfgs.end()) {
|
||||
(*fpitem)->SetFixPointCfg(sccfg->add_fixpointdata());
|
||||
++fpitem;
|
||||
}
|
||||
|
||||
start->second->m_ScanCfgWrapper.m_ScanParamCfg.SetScanParam(sccfg->mutable_scanparamcfg());
|
||||
start->second->m_ScanCfgWrapper.m_HatchingParams.SetScanParam(sccfg->mutable_hatchingparams());
|
||||
start->second->m_ScanCfgWrapper.m_BorderParams.SetScanParam(sccfg->mutable_borderparams());
|
||||
start->second->m_ScanCfgWrapper.m_SupportParams.SetScanParam(sccfg->mutable_supportparams());
|
||||
start->second->m_ScanCfgWrapper.m_CorrectParamCfg.SetCorrectCfg(sccfg->mutable_correctparamcfg());
|
||||
start->second->m_ScanCfgWrapper.m_ScanTestCfg.SetScanTestCfg(sccfg->mutable_scantestcfg());
|
||||
start->second->m_ScanCfgWrapper.m_SkyWritingCfg.SetSkyWritingCfg(sccfg->mutable_skywritingcfg());
|
||||
|
||||
auto pcs = start->second->m_ScanCfgWrapper.m_PowerCompensateCfg.m_pcs.begin();
|
||||
while (pcs != start->second->m_ScanCfgWrapper.m_PowerCompensateCfg.m_pcs.end()) {
|
||||
(*pcs)->SetPowerComp(sccfg->add_powercompensate());
|
||||
++pcs;
|
||||
}
|
||||
|
||||
auto tpcs = start->second->m_ScanCfgWrapper.m_TimePowerCompensateCfg.m_TimePowerCompensates.begin();
|
||||
while (tpcs != start->second->m_ScanCfgWrapper.m_TimePowerCompensateCfg.m_TimePowerCompensates.end()) {
|
||||
(*tpcs)->SetTimePowerComp(sccfg->add_tpowercompensate());
|
||||
++tpcs;
|
||||
}
|
||||
|
||||
++start;
|
||||
}
|
||||
|
||||
(*response)->mutable_data()->PackFrom(result);
|
||||
}
|
||||
|
||||
|
||||
//void ConfigManager::FixPointDaoAdd(const list<Item>& lst) {
|
||||
// int scannerIndex = -1;
|
||||
// FixPointCfg* fpc = new FixPointCfg();
|
||||
// for (auto it = lst.begin(); it != lst.end(); ++it) {
|
||||
// if (it->nameKey == "index") scannerIndex = ConverType::TryToI(it->strValue);
|
||||
// if (it->nameKey == "cno") fpc->m_Cno = ConverType::TryToI(it->strValue);
|
||||
// if (it->nameKey == "pointX") fpc->m_PointX = ConverType::TryToF(it->strValue);
|
||||
// if (it->nameKey == "pointY") fpc->m_PointY = ConverType::TryToF(it->strValue);
|
||||
// if (it->nameKey == "duration") fpc->m_Duration = (unsigned int)ConverType::TryToI(it->strValue);
|
||||
// }
|
||||
//
|
||||
// //if (GetFixPointDao()->Add(fpc)){
|
||||
// // (*m_UIController.m_ScannerCtrl->GetScanners())[scannerIndex]->GetConfig()->m_FixPointWrapper.m_Cfgs->push_back(fpc);
|
||||
// //}
|
||||
//}
|
||||
//
|
||||
//void ConfigManager::FixPointDaoDel(const list<Item>& lst) {
|
||||
//
|
||||
//}
|
||||
|
||||
void ConfigManager::SendAlarmCfg() {
|
||||
list<Item> lst;
|
||||
auto start = m_AlarmCfgWrapper->m_StopAlarmCfgMap.begin();
|
||||
while (start != m_AlarmCfgWrapper->m_StopAlarmCfgMap.end()) {
|
||||
lst.emplace_back(Item{ start->first,"",UNKNOW,(*start).second->m_Content, (*start).second->m_IsEnable,
|
||||
lst.emplace_back(Item{ start->first,(*start).second->m_Content, (*start).second->m_IsEnable,
|
||||
(*start).second->m_IsAlarm, (*start).second->m_IsShow });
|
||||
++start;
|
||||
}
|
||||
@ -576,7 +587,7 @@ void ConfigManager::SendAlarmCfg() {
|
||||
lst.clear();
|
||||
start = m_AlarmCfgWrapper->m_PauseAlarmCfgMap.begin();
|
||||
while (start != m_AlarmCfgWrapper->m_PauseAlarmCfgMap.end()) {
|
||||
lst.emplace_back(Item{ start->first,"",UNKNOW,(*start).second->m_Content, (*start).second->m_IsEnable,
|
||||
lst.emplace_back(Item{ start->first,(*start).second->m_Content, (*start).second->m_IsEnable,
|
||||
(*start).second->m_IsAlarm, (*start).second->m_IsShow });
|
||||
++start;
|
||||
}
|
||||
@ -585,7 +596,7 @@ void ConfigManager::SendAlarmCfg() {
|
||||
lst.clear();
|
||||
start = m_AlarmCfgWrapper->m_WarnAlarmCfgMap.begin();
|
||||
while (start != m_AlarmCfgWrapper->m_WarnAlarmCfgMap.end()) {
|
||||
lst.emplace_back(Item{ start->first,"",UNKNOW,(*start).second->m_Content, (*start).second->m_IsEnable,
|
||||
lst.emplace_back(Item{ start->first,(*start).second->m_Content, (*start).second->m_IsEnable,
|
||||
(*start).second->m_IsAlarm, (*start).second->m_IsShow });
|
||||
++start;
|
||||
}
|
||||
@ -602,14 +613,14 @@ void ConfigManager::SendPowderCfg() {
|
||||
m_ParamSetCfg.GetPowderCfg(vec);
|
||||
auto powderStart = vec.begin();
|
||||
while (powderStart != vec.end()) {
|
||||
lst.emplace_back(Item{ "","",UNKNOW,"", 0,0,0,
|
||||
powderStart->start_layer,powderStart->end_layer,powderStart->powder });
|
||||
lst.emplace_back(Item{powderStart->start_layer,powderStart->end_layer,powderStart->powder });
|
||||
++powderStart;
|
||||
}
|
||||
ClientWrapper::Instance()->PushAllClient(WriteData(POWDERSETPARAM, lst));
|
||||
|
||||
}
|
||||
|
||||
|
||||
void ConfigManager::UpdateCfg(const ReadData& rd) {
|
||||
|
||||
switch (rd.dataType)
|
||||
@ -666,9 +677,9 @@ void ConfigManager::UpdateCommunicationCfg(const ReadData& rd) {
|
||||
printf("not find this [%s] param\n", rd.nameKey.data());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void ConfigManager::ControlRun(const list<Item>& its) {
|
||||
bool enable = false;
|
||||
string code;
|
||||
@ -678,7 +689,6 @@ void ConfigManager::ControlRun(const list<Item>& its) {
|
||||
if (item->nameKey == "code") code = item->strValue;
|
||||
}
|
||||
|
||||
|
||||
CommunicationCfg* cCfg = nullptr;
|
||||
if (m_pCommunicationCfgDao->GetCommunicationCfg()->find(code) != m_pCommunicationCfgDao->GetCommunicationCfg()->end()) {
|
||||
cCfg = (*m_pCommunicationCfgDao->GetCommunicationCfg())[code];
|
||||
|
@ -106,7 +106,7 @@ public:
|
||||
ParamSetCfg* GetParamSetCfg() { return &m_ParamSetCfg; } //已传
|
||||
//map<int, LaserCfg*>* GetLaserCfgMap() { return &m_pLaserCfgDao->m_LaserCfgMap; }
|
||||
//vector<LaserCfg*>* GetLaserCfgs() { return &m_pLaserCfgDao->m_LaserCfgs; }
|
||||
map<int,ScannerControlCfg*>* GetScannerControlCfg() { return &m_ScannerControlCfgDao->m_ScannerControlCfgMap; } //传
|
||||
map<int,ScannerControlCfg*>* GetScannerControlCfg() { return &m_ScannerControlCfgDao->m_ScannerControlCfgMap; } //已传 ScanerCtrlCfgReq发送
|
||||
vector<ScannerControlCfg*>* GetScannerControlCfgs() { return &m_ScannerControlCfgDao->m_ScannerControlCfgs; } //不传
|
||||
vector<ScannerControlCfg*>* GetMatchScannerControlCfg() { return &m_ScannerControlCfgDao->m_MatchCfg; } //添加2个函数 已传
|
||||
ScannerControlCfgDao* GetScannerControlCfgDao() { return m_ScannerControlCfgDao; } //不用
|
||||
@ -137,6 +137,7 @@ public:
|
||||
void SendCfgToClients();
|
||||
void UpdateCfg(const ReadData& rd);
|
||||
void CallFuncs(const ReadData& rd, const list<Item>& lst = list<Item>(), ::stream::ResponseAny** response = nullptr);
|
||||
void ScanerCtrlCfgReq(const ReadData& rd, const list<Item>& lst, ::stream::ResponseAny** response); //
|
||||
private:
|
||||
ConfigManager(const ConfigManager&) {};
|
||||
ConfigManager& operator=(const ConfigManager&) {};
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "CorrectParamCfg.h"
|
||||
#include "CorrectParamCfg.h"
|
||||
#include "ScanCfg.h"
|
||||
|
||||
|
||||
@ -41,8 +41,8 @@ CorrectParamCfg::CorrectParamCfg()
|
||||
m_FactorK=1824.0;
|
||||
m_IsCorrectFile3D = true;
|
||||
//m_DownSkinStopTimes = 0;
|
||||
m_IsDynamicFocus = true; //是否动态聚焦
|
||||
m_DefocusRatio = 10.0; //离焦比
|
||||
m_IsDynamicFocus = true; //是否动态聚焦
|
||||
m_DefocusRatio = 10.0; //离焦比
|
||||
m_DefocusRatioMin = 0.0;
|
||||
m_DefocusRatioMax = 50.0;
|
||||
}
|
||||
@ -110,6 +110,40 @@ void CorrectParamCfg::GetUpdateSql(int cno,vector<string>& ups) {
|
||||
ups.push_back(buffer);
|
||||
}
|
||||
|
||||
void CorrectParamCfg::SetCorrectCfg(stream::CorrectParamCfg* cp) {
|
||||
cp->set_xmeasuremin(m_xmeasure_min);
|
||||
cp->set_xmeasuremax(m_xmeasure_max);
|
||||
cp->set_ymeasuremin(m_ymeasure_min);
|
||||
cp->set_ymeasuremax(m_ymeasure_max);
|
||||
cp->set_xposfix(m_xposfix);
|
||||
cp->set_yposfix(m_yposfix);
|
||||
|
||||
cp->set_scanangle(m_scan_angle);
|
||||
cp->set_scananglemin(m_scan_angle_min);
|
||||
cp->set_scananglemax(m_scan_angle_max);
|
||||
cp->set_fixanglemax(m_fix_angle);
|
||||
cp->set_fixanglemin(m_fix_angle_min);
|
||||
cp->set_fixanglemax(m_fix_angle_max);
|
||||
|
||||
cp->set_xcorrect(m_xcorrect);
|
||||
cp->set_ycorrect(m_ycorrect);
|
||||
cp->set_xcorrectmin(m_xcorrect_min);
|
||||
cp->set_xcorrectmax(m_xcorrect_max);
|
||||
cp->set_ycorrectmin(m_ycorrect_min);
|
||||
cp->set_ycorrectmax(m_ycorrect_max);
|
||||
|
||||
cp->set_realxoffset(m_realXOffset);
|
||||
cp->set_realyoffset(m_realYOffset);
|
||||
cp->set_factork(m_FactorK);
|
||||
cp->set_iscorrectfile3d(m_IsCorrectFile3D);
|
||||
cp->set_isdynamicfocus(m_IsDynamicFocus);
|
||||
|
||||
cp->set_defocusratio(m_DefocusRatio);
|
||||
cp->set_defocusratiomin(m_DefocusRatioMin);
|
||||
cp->set_defocusratiomax(m_DefocusRatioMax);
|
||||
|
||||
}
|
||||
|
||||
string CorrectParamCfg::CONFIG_NAME = "CorrectParamCfg";
|
||||
string CorrectParamCfg::FIELD_X_MEASURE_MIN = "XMeasureMin";
|
||||
string CorrectParamCfg::FIELD_X_MEASURE_MAX = "XMeasureMax";
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "../protobuf/stream.pb.h"
|
||||
|
||||
using namespace std;
|
||||
class CorrectParamCfg
|
||||
@ -9,40 +10,42 @@ public:
|
||||
CorrectParamCfg();
|
||||
~CorrectParamCfg();
|
||||
void GetUpdateSql(int cno,vector<string>& ups);
|
||||
|
||||
void SetCorrectCfg(stream::CorrectParamCfg* cp);
|
||||
public:
|
||||
double m_xmeasure_min; //x可打印最小位置
|
||||
double m_xmeasure_max; //x可打印最大位置
|
||||
double m_ymeasure_min; //y可打印最小位置
|
||||
double m_ymeasure_max; //y可打印最大位置
|
||||
double m_xposfix; //x位置修正
|
||||
double m_yposfix; //y位置修正
|
||||
//double m_xoffset; //x位置偏移 不保存
|
||||
//double m_yoffset; //y位置偏移 不保存
|
||||
double m_scan_angle; //旋转角度 逆时针
|
||||
double m_xmeasure_min; //x可打印最小位置
|
||||
double m_xmeasure_max; //x可打印最大位置
|
||||
double m_ymeasure_min; //y可打印最小位置
|
||||
double m_ymeasure_max; //y可打印最大位置
|
||||
double m_xposfix; //x位置修正
|
||||
double m_yposfix; //y位置修正
|
||||
//double m_xoffset; //x位置偏移 不保存
|
||||
//double m_yoffset; //y位置偏移 不保存
|
||||
double m_scan_angle; //旋转角度 逆时针
|
||||
double m_scan_angle_min;
|
||||
double m_scan_angle_max;
|
||||
double m_fix_angle; //旋转角度 逆时针
|
||||
double m_fix_angle; //旋转角度 逆时针
|
||||
double m_fix_angle_min;
|
||||
double m_fix_angle_max;
|
||||
double m_xcorrect; //x尺寸修正
|
||||
double m_ycorrect; //y尺寸修正
|
||||
double m_xcorrect; //x尺寸修正
|
||||
double m_ycorrect; //y尺寸修正
|
||||
double m_xcorrect_min;
|
||||
double m_xcorrect_max;
|
||||
double m_ycorrect_min;
|
||||
double m_ycorrect_max;
|
||||
//double m_xscale; //x缩放比例 不保存
|
||||
//double m_xscale; //x缩放比例 不保存
|
||||
//double m_xscale_min;
|
||||
//double m_xscale_max;
|
||||
//double m_yscale; //y缩放比例 不保存
|
||||
//double m_yscale; //y缩放比例 不保存
|
||||
//double m_yscale_min;
|
||||
//double m_yscale_max;
|
||||
double m_realXOffset;
|
||||
double m_realYOffset;
|
||||
double m_FactorK;
|
||||
bool m_IsCorrectFile3D;
|
||||
//unsigned int m_DownSkinStopTimes; //下表面停止次数
|
||||
bool m_IsDynamicFocus; //是否动态聚焦
|
||||
double m_DefocusRatio; //离焦比
|
||||
//unsigned int m_DownSkinStopTimes; //下表面停止次数
|
||||
bool m_IsDynamicFocus; //是否动态聚焦
|
||||
double m_DefocusRatio; //离焦比
|
||||
double m_DefocusRatioMin;
|
||||
double m_DefocusRatioMax;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "FixPointCfg.h"
|
||||
#include "FixPointCfg.h"
|
||||
|
||||
|
||||
|
||||
@ -19,6 +19,14 @@ string FixPointCfg::GetUpdateSql()
|
||||
return buffer;
|
||||
}
|
||||
|
||||
void FixPointCfg::SetFixPointCfg(stream::FixPointData* fp) {
|
||||
fp->set_cno(m_Cno);
|
||||
fp->set_duration(m_Duration);
|
||||
fp->set_id(m_Id);
|
||||
fp->set_pointx(m_PointX);
|
||||
fp->set_pointy(m_PointY);
|
||||
}
|
||||
|
||||
const string FixPointCfg::TABLE_NAME="FixPoints";
|
||||
const string FixPointCfg::FIELD_ID="Id";
|
||||
const string FixPointCfg::FIELD_CNO = "Cno";
|
||||
|
@ -1,8 +1,9 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
#include <windows.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <list>
|
||||
#include "../protobuf/stream.pb.h"
|
||||
|
||||
using namespace std;
|
||||
class FixPointCfg
|
||||
@ -11,6 +12,7 @@ public:
|
||||
FixPointCfg();
|
||||
~FixPointCfg();
|
||||
string GetUpdateSql();
|
||||
void SetFixPointCfg(stream::FixPointData* sp);
|
||||
public:
|
||||
int m_Id;
|
||||
int m_Cno;
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "PowerCompensate.h"
|
||||
#include "PowerCompensate.h"
|
||||
|
||||
|
||||
|
||||
@ -33,6 +33,15 @@ void PowerCompensate::Generate(int cno,vector<string>& ins)
|
||||
}
|
||||
}
|
||||
|
||||
void PowerCompensate::SetPowerComp(stream::PowerCompensate* cp) {
|
||||
cp->set_cno(m_cno);
|
||||
cp->set_percent(m_percent);
|
||||
cp->set_value(m_value);
|
||||
cp->set_value_min(m_value_min);
|
||||
cp->set_value_max(m_value_max);
|
||||
|
||||
}
|
||||
|
||||
|
||||
const string PowerCompensate::TABLE_NAME="PowerCompensate";
|
||||
const string PowerCompensate::FIELD_CNO = "cno";
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "../protobuf/stream.pb.h"
|
||||
|
||||
using namespace std;
|
||||
class PowerCompensate
|
||||
@ -9,6 +10,7 @@ public:
|
||||
PowerCompensate();
|
||||
~PowerCompensate();
|
||||
static void Generate(int cno,vector<string>& ins);
|
||||
void SetPowerComp(stream::PowerCompensate* cp);
|
||||
public:
|
||||
int m_cno;
|
||||
unsigned short m_percent;
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "ScanParamCfg.h"
|
||||
#include "ScanParamCfg.h"
|
||||
#include "ScanCfg.h"
|
||||
#include "../../utils/StringHelper.h"
|
||||
|
||||
@ -92,6 +92,41 @@ void ScanParamCfg::GetUpdateSql(int cno,vector<string>& ups)
|
||||
}
|
||||
|
||||
|
||||
void ScanParamCfg::SetScanParam(stream::ScanParamCfg* sp) {
|
||||
sp->set_edgelevel(m_edge_level);
|
||||
sp->set_edgelevelmin( m_edge_level_min);
|
||||
sp->set_edgelevelmax( m_edge_level_max);
|
||||
sp->set_jumpdelay( m_jump_delay);
|
||||
sp->set_jumpdelaymin( m_jump_delay_min);
|
||||
sp->set_jumpdelaymax( m_jump_delay_max);
|
||||
sp->set_scandelay( m_scan_delay);
|
||||
sp->set_scandelaymin( m_scan_delay_min);
|
||||
sp->set_scandelaymax( m_scan_delay_max);
|
||||
sp->set_polygondelay( m_polygon_delay);
|
||||
sp->set_polygondelaymin( m_polygon_delay_min);
|
||||
sp->set_polygondelaymax( m_polygon_delay_max);
|
||||
sp->set_laseroffdelay( m_laseroff_delay);
|
||||
sp->set_laseroffdelaymin( m_laseroff_delay_min);
|
||||
sp->set_laseroffdelaymax( m_laseroff_delay_max);
|
||||
sp->set_laserondelay( m_laseron_delay);
|
||||
sp->set_laserondelaymin( m_laseron_delay_min);
|
||||
sp->set_laserondelaymax( m_laseron_delay_max);
|
||||
sp->set_minjumpdelay( m_min_jump_delay);
|
||||
sp->set_minjumpdelaymin( m_min_jump_delay_min);
|
||||
sp->set_minjumpdelaymax( m_min_jump_delay_max);
|
||||
sp->set_jumplengthlimit( m_jump_length_limit);
|
||||
sp->set_jumplengthlimitmin( m_jump_length_limit_min);
|
||||
sp->set_jumplengthlimitmax( m_jump_length_limit_max);
|
||||
sp->set_jumpspeed( m_jump_speed);
|
||||
sp->set_jumpspeedmin( m_jump_speed_min);
|
||||
sp->set_jumpspeedmax( m_jump_speed_max);
|
||||
sp->set_markspeed( m_mark_speed);
|
||||
sp->set_markspeedmin( m_mark_speed_min);
|
||||
sp->set_markspeedmax( m_polygon_delay_max);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//string ScanParamCfg::CONFIG_NAME = "ScanParamCfg";
|
||||
string ScanParamCfg::FIELD_EDGE_LEVEL = "EdgeLevel";
|
||||
string ScanParamCfg::FIELD_EDGE_LEVEL_MIN = "EdgeLevelMin";
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "../protobuf/stream.pb.h"
|
||||
using namespace std;
|
||||
class ScanParamCfg
|
||||
{
|
||||
@ -9,6 +10,7 @@ public:
|
||||
~ScanParamCfg();
|
||||
void GetUpdateSql(int cno,vector<string>& ups);
|
||||
|
||||
void SetScanParam(stream::ScanParamCfg* sp);
|
||||
public:
|
||||
string CONFIG_NAME;
|
||||
static string FIELD_EDGE_LEVEL;
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "ScanTestCfg.h"
|
||||
#include "ScanTestCfg.h"
|
||||
#include "ScanCfg.h"
|
||||
#include "../../utils/StringHelper.h"
|
||||
|
||||
@ -90,6 +90,35 @@ void ScanTestCfg::GetUpdateSql(int cno,vector<string>& ups)
|
||||
}
|
||||
|
||||
|
||||
void ScanTestCfg::SetScanTestCfg(stream::ScanTestCfg* cp) {
|
||||
cp->set_debugshape(m_debug_shape);
|
||||
cp->set_shapesize(m_shape_size);
|
||||
cp->set_shapesizemin(m_shape_size_min);
|
||||
cp->set_shape_size_max(m_shape_size_max);
|
||||
cp->set_laser_power(m_laser_power);
|
||||
cp->set_laser_power_min(m_laser_power_min);
|
||||
cp->set_laser_power_max(m_laser_power_max);
|
||||
|
||||
cp->set_defocus(m_defocus);
|
||||
cp->set_defocus_min(m_defocus_min);
|
||||
cp->set_defocus_max(m_defocus_max);
|
||||
cp->set_is_cycle(m_is_cycle);
|
||||
cp->set_cross_x(m_cross_x);
|
||||
cp->set_cross_y(m_cross_y);
|
||||
|
||||
cp->set_z_distance(m_z_distance);
|
||||
cp->set_isautoheatingscanner(m_IsAutoHeatingScanner);
|
||||
cp->set_autoheatingscannerminutes(m_AutoHeatingScannerMinutes);
|
||||
cp->set_autoheatingscannersize(m_AutoHeatingScannerSize);
|
||||
cp->set_autoheatingscannerspeed(m_AutoHeatingScannerSpeed);
|
||||
|
||||
cp->set_mark_test_start_x(m_mark_test_start_x);
|
||||
cp->set_mark_test_start_y(m_mark_test_start_y);
|
||||
cp->set_mark_test_end_x(m_mark_test_end_x);
|
||||
cp->set_mark_test_end_y(m_mark_test_end_y);
|
||||
|
||||
}
|
||||
|
||||
string ScanTestCfg::CONFIG_NAME="ScanTest";
|
||||
string ScanTestCfg::FIELD_DEBUG_SHAPE = "DebugShape";
|
||||
string ScanTestCfg::FIELD_SHAPE_SIZE = "ShapeSize";
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "../protobuf/stream.pb.h"
|
||||
|
||||
using namespace std;
|
||||
class ScanTestCfg
|
||||
@ -10,6 +11,7 @@ public:
|
||||
~ScanTestCfg();
|
||||
void GetUpdateSql(int cno,vector<string>& ups);
|
||||
|
||||
void SetScanTestCfg(stream::ScanTestCfg* cp);
|
||||
public:
|
||||
int m_debug_shape;
|
||||
int m_shape_size;
|
||||
@ -27,7 +29,7 @@ public:
|
||||
|
||||
double m_z_distance;
|
||||
|
||||
bool m_IsAutoHeatingScanner; //开启暂停开始时预热振镜
|
||||
bool m_IsAutoHeatingScanner; //开启暂停开始时预热振镜
|
||||
unsigned int m_AutoHeatingScannerMinutes;
|
||||
unsigned int m_AutoHeatingScannerSize;
|
||||
double m_AutoHeatingScannerSpeed;
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
|
||||
ScannerControlCfg::ScannerControlCfg()
|
||||
: /*m_Index(new IntData("Index"))
|
||||
,*/ m_SeqNo(new IntData("SeqNo"))
|
||||
/*: m_Index(new IntData("Index"))
|
||||
, m_SeqNo(new IntData("SeqNo"))
|
||||
, m_ControlNo(new IntData("ControlNo"))
|
||||
, m_SerialNo(new IntData("SerialNo"))
|
||||
, m_ControlType(new IntData("ControlType"))
|
||||
@ -12,7 +12,7 @@ ScannerControlCfg::ScannerControlCfg()
|
||||
, m_CardIP(new StrData("CardIP"))
|
||||
, m_IsEnable(new BoolData("IsEnable"))
|
||||
, m_HadAssign(new BoolData("HadAssign"))
|
||||
, m_HadMatch(new BoolData("HadMatch"))
|
||||
, m_HadMatch(new BoolData("HadMatch"))*/
|
||||
{
|
||||
}
|
||||
|
||||
@ -40,9 +40,9 @@ string ScannerControlCfg::GetUpdateSql()
|
||||
string sql = "UPDATE %s SET %s=%d,%s=%d WHERE %s=%d";
|
||||
sprintf_s(buffer, sizeof(buffer), "UPDATE %s SET %s=%d,%s=%d WHERE %s=%d",
|
||||
TABLE_NAME.c_str(),
|
||||
FIELD_CONTROL_NO.c_str(), m_ControlNo->GetValue(),
|
||||
FIELD_SERIAL_NO.c_str(), m_SerialNo->GetValue(),
|
||||
FIELD_SEQ_NO.c_str(),m_SeqNo->GetValue());
|
||||
FIELD_CONTROL_NO.c_str(), m_ControlNo ,
|
||||
FIELD_SERIAL_NO.c_str(), m_SerialNo ,
|
||||
FIELD_SEQ_NO.c_str(),m_SeqNo );
|
||||
|
||||
return buffer;
|
||||
}
|
||||
@ -58,6 +58,18 @@ ScanParamCfg* ScannerControlCfg::GetScanParamCfg(string str)
|
||||
}
|
||||
}
|
||||
|
||||
void ScannerControlCfg::SetScannerCtrlCfg(stream::ScannerCrtlCfgData* sccd) {
|
||||
sccd->set_seqno(m_SeqNo);
|
||||
sccd->set_controlno(m_ControlNo);
|
||||
sccd->set_serialno(m_SerialNo);
|
||||
sccd->set_controltype(m_ControlType);
|
||||
sccd->set_cardname(m_CardName);
|
||||
sccd->set_cardip(m_CardIP);
|
||||
sccd->set_isenable(m_IsEnable);
|
||||
sccd->set_hadassign(m_HadAssign);
|
||||
sccd->set_hadmatch(m_HadMatch);
|
||||
}
|
||||
|
||||
const string ScannerControlCfg::TABLE_NAME="ScannerControlCfg";
|
||||
const string ScannerControlCfg::FIELD_SEQ_NO="SeqNo";
|
||||
const string ScannerControlCfg::FIELD_CONTROL_NO="ControlNo";
|
||||
|
@ -6,6 +6,8 @@
|
||||
#include "FixPointCfg.h"
|
||||
#include "IOCfg.h"
|
||||
#include "../Controller/Base.h"
|
||||
#include "../protobuf/stream.pb.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
struct CardSerialPair {
|
||||
@ -23,21 +25,22 @@ public:
|
||||
string GetUpdateSql();
|
||||
void Init();
|
||||
ScanParamCfg* GetScanParamCfg(string str);
|
||||
|
||||
void SetScannerCtrlCfg(stream::ScannerCrtlCfgData* );
|
||||
public:
|
||||
//IntData* m_Index;
|
||||
IntData* m_SeqNo; //编号 配合ConfigManager中的map
|
||||
IntData* m_ControlNo;
|
||||
IntData* m_SerialNo;
|
||||
IntData* m_ControlType;
|
||||
StrData* m_CardName;
|
||||
StrData* m_CardIP;
|
||||
BoolData* m_IsEnable; //是否启动
|
||||
BoolData* m_HadAssign;
|
||||
BoolData* m_HadMatch;
|
||||
|
||||
int m_SeqNo; //编号 ConfigManager中的m_ScannerControlCfgMap的key
|
||||
int m_ControlNo;
|
||||
int m_SerialNo;
|
||||
int m_ControlType;
|
||||
string m_CardName;
|
||||
string m_CardIP;
|
||||
bool m_IsEnable; //是否启动
|
||||
bool m_HadAssign;
|
||||
bool m_HadMatch;
|
||||
|
||||
ScanCfgWrapper m_ScanCfgWrapper;
|
||||
FixPointWrapper m_FixPointWrapper;
|
||||
FixPointWrapper m_FixPointWrapper; //添加一个函数,不传
|
||||
|
||||
IOCfg* m_LaserRed; //不传了
|
||||
IOCfg* m_LaserEnable; //不传了
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "SkyWritingCfg.h"
|
||||
#include "SkyWritingCfg.h"
|
||||
#include "ScanCfg.h"
|
||||
|
||||
|
||||
@ -65,6 +65,28 @@ void SkyWritingCfg::GetUpdateSql(int cno,vector<string>& ups)
|
||||
ups.push_back(buffer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SkyWritingCfg::SetSkyWritingCfg(stream::SkyWritingCfg * cp) {
|
||||
cp->set_isenable(m_IsEnable);
|
||||
cp->set_timelag(m_Timelag);
|
||||
cp->set_timelagmin(m_TimelagMin);
|
||||
cp->set_timelagmax(m_TimelagMax);
|
||||
cp->set_laseronshift(m_LaserOnShift);
|
||||
cp->set_laseronshiftmin(m_LaserOnShiftMin);
|
||||
cp->set_laseronshiftmax(m_LaserOnShiftMax);
|
||||
cp->set_nprev(m_Nprev);
|
||||
cp->set_nprevmin(m_NprevMin);
|
||||
cp->set_nprevmax(m_NprevMax);
|
||||
cp->set_npost(m_Npost);
|
||||
cp->set_npostmin(m_NpostMin);
|
||||
cp->set_npostmax(m_NpostMax);
|
||||
cp->set_mode(m_Mode);
|
||||
cp->set_limite(m_Limite);
|
||||
cp->set_limitemin(m_LimiteMin);
|
||||
cp->set_limitemax(m_LimiteMax);
|
||||
}
|
||||
|
||||
string SkyWritingCfg::CONFIG_NAME = "SkyWriting";
|
||||
string SkyWritingCfg::FIELD_IS_ENABLE = "is_enable";
|
||||
string SkyWritingCfg::FIELD_TIMELAG = "timelag";
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "../protobuf/stream.pb.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
@ -10,7 +11,7 @@ public:
|
||||
SkyWritingCfg();
|
||||
~SkyWritingCfg();
|
||||
void GetUpdateSql(int cno,vector<string>& ups);
|
||||
|
||||
void SetSkyWritingCfg(stream::SkyWritingCfg* cp);
|
||||
public:
|
||||
bool m_IsEnable;
|
||||
double m_Timelag;
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "TimePowerCompensate.h"
|
||||
#include "TimePowerCompensate.h"
|
||||
|
||||
|
||||
|
||||
@ -13,6 +13,13 @@ TimePowerCompensate::~TimePowerCompensate()
|
||||
|
||||
}
|
||||
|
||||
void TimePowerCompensate::SetTimePowerComp(stream::TimePowerCompensate* tpc) {
|
||||
tpc->set_id(m_ID);
|
||||
tpc->set_cno(m_Cno);
|
||||
tpc->set_startminute(m_StartMinute);
|
||||
tpc->set_endminute(m_EndMinute);
|
||||
tpc->set_compensate(m_Compensate);
|
||||
}
|
||||
|
||||
const string TimePowerCompensate::TABLE_NAME="TimePowerCompensate";
|
||||
const string TimePowerCompensate::FIELD_ID="id";
|
||||
|
@ -1,7 +1,8 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <windows.h>
|
||||
#include <Vector>
|
||||
#include "../protobuf/stream.pb.h"
|
||||
using namespace std;
|
||||
|
||||
class TimePowerCompensate
|
||||
@ -9,7 +10,7 @@ class TimePowerCompensate
|
||||
public:
|
||||
TimePowerCompensate();
|
||||
~TimePowerCompensate();
|
||||
|
||||
void SetTimePowerComp(stream::TimePowerCompensate* cp);
|
||||
public:
|
||||
int m_ID;
|
||||
int m_Cno;
|
||||
|
@ -54,10 +54,10 @@ void ScannerControlCfgDao::Save()
|
||||
ScannerControlCfg* pcfg = m_MatchCfg[i];
|
||||
if (pcfg == NULL)continue;
|
||||
m_pDB->exec(pcfg->GetUpdateSql());
|
||||
m_ScanCfgDao->Save(pcfg->m_SeqNo->GetValue(), pcfg->m_ScanCfgWrapper);
|
||||
m_PowerCompensateDao->Save(pcfg->m_SeqNo->GetValue(), pcfg->m_ScanCfgWrapper.m_PowerCompensateCfg);
|
||||
m_TimePowerCompensateDao->Save(pcfg->m_SeqNo->GetValue(), pcfg->m_ScanCfgWrapper.m_TimePowerCompensateCfg);
|
||||
m_FixPointDao->Save(pcfg->m_SeqNo->GetValue(), pcfg->m_FixPointWrapper);
|
||||
m_ScanCfgDao->Save(pcfg->m_SeqNo , pcfg->m_ScanCfgWrapper);
|
||||
m_PowerCompensateDao->Save(pcfg->m_SeqNo , pcfg->m_ScanCfgWrapper.m_PowerCompensateCfg);
|
||||
m_TimePowerCompensateDao->Save(pcfg->m_SeqNo , pcfg->m_ScanCfgWrapper.m_TimePowerCompensateCfg);
|
||||
m_FixPointDao->Save(pcfg->m_SeqNo , pcfg->m_FixPointWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@ -68,22 +68,22 @@ void ScannerControlCfgDao::FindCfg() {
|
||||
{
|
||||
ScannerControlCfg* cfg = m_ScannerControlCfgs[i];
|
||||
//machine->InitScanParamBeforeFind(&cfg->m_ScanCfgWrapper);
|
||||
m_ScanCfgDao->Find(cfg->m_SeqNo->GetValue(), cfg->m_ScanCfgWrapper);
|
||||
m_PowerCompensateDao->Find(cfg->m_SeqNo->GetValue(), cfg->m_ScanCfgWrapper.m_PowerCompensateCfg);
|
||||
m_ScanCfgDao->Find(cfg->m_SeqNo , cfg->m_ScanCfgWrapper);
|
||||
m_PowerCompensateDao->Find(cfg->m_SeqNo , cfg->m_ScanCfgWrapper.m_PowerCompensateCfg);
|
||||
if (cfg->m_ScanCfgWrapper.m_PowerCompensateCfg.m_pcs.empty()) {
|
||||
for (int pcIndex = 5; pcIndex <= 100; pcIndex += 5) {
|
||||
PowerCompensate* pc = new PowerCompensate();
|
||||
pc->m_cno = cfg->m_SeqNo->GetValue();
|
||||
pc->m_cno = cfg->m_SeqNo ;
|
||||
pc->m_percent = pcIndex;
|
||||
pc->m_value = 1.0f;
|
||||
pc->m_value_min = 0.0f;
|
||||
pc->m_value_max = 3.0f;
|
||||
cfg->m_ScanCfgWrapper.m_PowerCompensateCfg.m_pcs.push_back(pc);
|
||||
m_PowerCompensateDao->Add(cfg->m_SeqNo->GetValue(), pc);
|
||||
m_PowerCompensateDao->Add(cfg->m_SeqNo , pc);
|
||||
}
|
||||
}
|
||||
m_TimePowerCompensateDao->Find(cfg->m_SeqNo->GetValue(), cfg->m_ScanCfgWrapper.m_TimePowerCompensateCfg);
|
||||
m_FixPointDao->Find(cfg->m_SeqNo->GetValue(), cfg->m_FixPointWrapper);
|
||||
m_TimePowerCompensateDao->Find(cfg->m_SeqNo , cfg->m_ScanCfgWrapper.m_TimePowerCompensateCfg);
|
||||
m_FixPointDao->Find(cfg->m_SeqNo , cfg->m_FixPointWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,15 +95,15 @@ void ScannerControlCfgDao::FindMain()
|
||||
SQLite::Statement query(*m_pDB, buffer);
|
||||
while (query.executeStep()) {
|
||||
ScannerControlCfg* cfg = new ScannerControlCfg();
|
||||
cfg->m_SeqNo ->SetValue(query.getColumn(ScannerControlCfg::FIELD_SEQ_NO.c_str()).getInt());
|
||||
cfg->m_ControlNo->SetValue(query.getColumn(ScannerControlCfg::FIELD_CONTROL_NO.c_str()).getInt());
|
||||
cfg->m_SerialNo->SetValue(query.getColumn(ScannerControlCfg::FIELD_SERIAL_NO.c_str()).getInt());
|
||||
cfg->m_ControlType->SetValue(query.getColumn(ScannerControlCfg::FIELD_CONTROL_TYPE.c_str()).getInt());
|
||||
cfg->m_CardName->SetValue(query.getColumn(ScannerControlCfg::FIELD_CARD_NAME.c_str()).getString());
|
||||
cfg->m_CardIP->SetValue(query.getColumn(ScannerControlCfg::FIELD_CARD_IP.c_str()).getString());
|
||||
cfg->m_IsEnable->SetValue(query.getColumn(ScannerControlCfg::FIELD_IS_ENABLE.c_str()).getInt() > 0 ? true : false);
|
||||
cfg->m_SeqNo=query.getColumn(ScannerControlCfg::FIELD_SEQ_NO.c_str()).getInt();
|
||||
cfg->m_ControlNo =query.getColumn(ScannerControlCfg::FIELD_CONTROL_NO.c_str()).getInt();
|
||||
cfg->m_SerialNo =query.getColumn(ScannerControlCfg::FIELD_SERIAL_NO.c_str()).getInt();
|
||||
cfg->m_ControlType =query.getColumn(ScannerControlCfg::FIELD_CONTROL_TYPE.c_str()).getInt();
|
||||
cfg->m_CardName =query.getColumn(ScannerControlCfg::FIELD_CARD_NAME.c_str()).getString();
|
||||
cfg->m_CardIP =query.getColumn(ScannerControlCfg::FIELD_CARD_IP.c_str()).getString();
|
||||
cfg->m_IsEnable =query.getColumn(ScannerControlCfg::FIELD_IS_ENABLE.c_str()).getInt() > 0 ? true : false;
|
||||
m_ScannerControlCfgs.push_back(cfg);
|
||||
m_ScannerControlCfgMap[cfg->m_SeqNo->GetValue()] = cfg;
|
||||
m_ScannerControlCfgMap[cfg->m_SeqNo ] = cfg;
|
||||
}
|
||||
}
|
||||
|
||||
@ -113,9 +113,9 @@ void ScannerControlCfgDao::Export(stringstream& ss)
|
||||
ScannerControlCfg* pcfg = m_MatchCfg[i];
|
||||
if (pcfg == NULL)continue;
|
||||
ss << pcfg->GetUpdateSql() << "\n";
|
||||
m_ScanCfgDao->Export(pcfg->m_SeqNo->GetValue(), pcfg->m_ScanCfgWrapper, ss);
|
||||
m_PowerCompensateDao->Export(pcfg->m_SeqNo->GetValue(), pcfg->m_ScanCfgWrapper.m_PowerCompensateCfg, ss);
|
||||
m_TimePowerCompensateDao->Export(pcfg->m_SeqNo->GetValue(), pcfg->m_ScanCfgWrapper.m_TimePowerCompensateCfg, ss);
|
||||
m_ScanCfgDao->Export(pcfg->m_SeqNo , pcfg->m_ScanCfgWrapper, ss);
|
||||
m_PowerCompensateDao->Export(pcfg->m_SeqNo , pcfg->m_ScanCfgWrapper.m_PowerCompensateCfg, ss);
|
||||
m_TimePowerCompensateDao->Export(pcfg->m_SeqNo , pcfg->m_ScanCfgWrapper.m_TimePowerCompensateCfg, ss);
|
||||
}
|
||||
}
|
||||
|
||||
@ -123,7 +123,7 @@ void ScannerControlCfgDao::ExportAllPC(stringstream& ss)
|
||||
{
|
||||
for (size_t i = 0; i < m_MatchCfg.size(); ++i) {
|
||||
ScannerControlCfg* pcfg = m_MatchCfg[i];
|
||||
m_PowerCompensateDao->Export(pcfg->m_SeqNo->GetValue(), pcfg->m_ScanCfgWrapper.m_PowerCompensateCfg, ss);
|
||||
m_PowerCompensateDao->Export(pcfg->m_SeqNo , pcfg->m_ScanCfgWrapper.m_PowerCompensateCfg, ss);
|
||||
}
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@ void ScannerControlCfgDao::ImportAllPc(std::string &sql)
|
||||
|
||||
for (size_t i = 0; i < m_ScannerControlCfgs.size(); ++i) {
|
||||
ScannerControlCfg* pcfg = m_ScannerControlCfgMap[i];
|
||||
m_PowerCompensateDao->Find(pcfg->m_SeqNo->GetValue(), pcfg->m_ScanCfgWrapper.m_PowerCompensateCfg);
|
||||
m_PowerCompensateDao->Find(pcfg->m_SeqNo , pcfg->m_ScanCfgWrapper.m_PowerCompensateCfg);
|
||||
}
|
||||
}
|
||||
|
||||
@ -157,7 +157,7 @@ void ScannerControlCfgDao::Add(ScannerControlCfg* cfg)
|
||||
ScannerControlCfg::FIELD_CARD_NAME.c_str(),
|
||||
ScannerControlCfg::FIELD_CARD_IP.c_str(),
|
||||
ScannerControlCfg::FIELD_IS_ENABLE.c_str(),
|
||||
cfg->m_SeqNo->GetValue(), cfg->m_ControlNo->GetValue(), cfg->m_SerialNo->GetValue(), cfg->m_ControlType->GetValue(), cfg->m_CardName->GetValueStr().c_str(), "", cfg->m_IsEnable->GetValue() ? 1 : 0);
|
||||
cfg->m_SeqNo , cfg->m_ControlNo , cfg->m_SerialNo , cfg->m_ControlType , cfg->m_CardName.c_str(), "", cfg->m_IsEnable ? 1 : 0);
|
||||
m_pDB->exec(buffer);
|
||||
}
|
||||
|
||||
@ -168,7 +168,7 @@ void ScannerControlCfgDao::Delete(int seq)
|
||||
m_pDB->exec(buffer);
|
||||
|
||||
for (vector<ScannerControlCfg*>::iterator it = m_ScannerControlCfgs.begin(); it != m_ScannerControlCfgs.end();) {
|
||||
if ((*it)->m_SeqNo->GetValue() == seq)
|
||||
if ((*it)->m_SeqNo == seq)
|
||||
{
|
||||
it = m_ScannerControlCfgs.erase(it);
|
||||
break;
|
||||
@ -179,7 +179,7 @@ void ScannerControlCfgDao::Delete(int seq)
|
||||
}
|
||||
|
||||
for (vector<ScannerControlCfg*>::iterator it = m_MatchCfg.begin(); it != m_MatchCfg.end();) {
|
||||
if ((*it)->m_SeqNo->GetValue() == seq)
|
||||
if ((*it)->m_SeqNo == seq)
|
||||
{
|
||||
it = m_MatchCfg.erase(it);
|
||||
break;
|
||||
@ -204,20 +204,20 @@ void ScannerControlCfgDao::Delete(int seq)
|
||||
|
||||
void ScannerControlCfgDao::Maintain(ScannerControlCfg* cfg)
|
||||
{
|
||||
m_ScanCfgDao->Find(cfg->m_SeqNo->GetValue(), cfg->m_ScanCfgWrapper);
|
||||
m_PowerCompensateDao->Find(cfg->m_SeqNo->GetValue(), cfg->m_ScanCfgWrapper.m_PowerCompensateCfg);
|
||||
m_ScanCfgDao->Find(cfg->m_SeqNo , cfg->m_ScanCfgWrapper);
|
||||
m_PowerCompensateDao->Find(cfg->m_SeqNo , cfg->m_ScanCfgWrapper.m_PowerCompensateCfg);
|
||||
if (cfg->m_ScanCfgWrapper.m_PowerCompensateCfg.m_pcs.empty()) {
|
||||
for (int pcIndex = 5; pcIndex <= 100; pcIndex += 5) {
|
||||
PowerCompensate* pc = new PowerCompensate();
|
||||
pc->m_cno = cfg->m_SeqNo->GetValue();
|
||||
pc->m_cno = cfg->m_SeqNo ;
|
||||
pc->m_percent = pcIndex;
|
||||
pc->m_value = 1.0f;
|
||||
pc->m_value_min = 0.0f;
|
||||
pc->m_value_max = 3.0f;
|
||||
cfg->m_ScanCfgWrapper.m_PowerCompensateCfg.m_pcs.push_back(pc);
|
||||
m_PowerCompensateDao->Add(cfg->m_SeqNo->GetValue(), pc);
|
||||
m_PowerCompensateDao->Add(cfg->m_SeqNo , pc);
|
||||
}
|
||||
}
|
||||
m_TimePowerCompensateDao->Find(cfg->m_SeqNo->GetValue(), cfg->m_ScanCfgWrapper.m_TimePowerCompensateCfg);
|
||||
m_FixPointDao->Find(cfg->m_SeqNo->GetValue(), cfg->m_FixPointWrapper);
|
||||
m_TimePowerCompensateDao->Find(cfg->m_SeqNo , cfg->m_ScanCfgWrapper.m_TimePowerCompensateCfg);
|
||||
m_FixPointDao->Find(cfg->m_SeqNo , cfg->m_FixPointWrapper);
|
||||
}
|
@ -29,6 +29,9 @@ void DataHandle::FuncDataCallBackProc(void* pthis,const ReadData& msg, const lis
|
||||
else if ((READTYPE)msg.dataType == CONFIGFUNC) {
|
||||
p->m_config->CallFuncs(msg, lst, response);
|
||||
}
|
||||
else if ((READTYPE)msg.dataType == SCANERCTRLCFG) {
|
||||
p->m_config->ScanerCtrlCfgReq(msg, lst, response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,7 @@ enum READTYPE {
|
||||
COMMUNICATIONCFG,
|
||||
ALARMCFG,
|
||||
POWDERSET,
|
||||
SCANERCTRLCFG,
|
||||
|
||||
LOADPARAM, //装载参数
|
||||
|
||||
@ -118,6 +119,7 @@ enum WRITETYPE {
|
||||
PAUSEALARMCFGPARAM, //AlarmCfgWrapper pause参数
|
||||
WARNALARMCFGPARAM, //AlarmCfgWrapper warn参数
|
||||
POWDERSETPARAM, //PowderSet 参数
|
||||
//SCANNERCONTROLCFGPARAM, //ScannerControlCfg 参数
|
||||
|
||||
MOLDCFGPARAM,
|
||||
LOADCFGPARAM,
|
||||
@ -138,31 +140,42 @@ enum WRITETYPE {
|
||||
};
|
||||
|
||||
struct Item {
|
||||
Item() {}
|
||||
|
||||
std::string nameKey; //参数key
|
||||
std::string strValue; //value
|
||||
DATATYPE valueType; //数据类型
|
||||
Item(const std::string& nameKey,const std::string& strValue, DATATYPE valueType)
|
||||
:nameKey(nameKey), strValue(strValue), valueType(valueType) {}
|
||||
|
||||
std::string content; //alarmcfgwrapper使用
|
||||
bool isEnable;
|
||||
bool isAlarm;
|
||||
bool isShow;
|
||||
Item(const std::string& nameKey, const std::string& content, bool isEnable, bool isAlarm, bool isShow)
|
||||
:nameKey(nameKey), content(content), isEnable(isEnable), isAlarm(isAlarm), isShow(isShow){}
|
||||
|
||||
//层供粉量配置使用 struct PowderSet
|
||||
int start_layer;
|
||||
int end_layer;
|
||||
float powder;
|
||||
Item(int start_layer,int end_layer,float powder) :start_layer(start_layer), end_layer(end_layer), powder(powder){}
|
||||
|
||||
//
|
||||
//IntData* m_Index; //编号 配合ConfigManager中的map
|
||||
//IntData* m_SeqNo;
|
||||
//IntData* m_ControlNo;
|
||||
//IntData* m_SerialNo;
|
||||
//IntData* m_ControlType;
|
||||
//StrData* m_CardName;
|
||||
//StrData* m_CardIP;
|
||||
//BoolData* m_IsEnable; //是否启动
|
||||
//BoolData* m_HadAssign;
|
||||
//BoolData* m_HadMatch;
|
||||
int seqNo; //ScannerControlCfg使用
|
||||
int controlNo;
|
||||
int serialNo;
|
||||
int controlType;
|
||||
std::string cardName;
|
||||
std::string cardIP;
|
||||
//bool isEnable; //是否启动
|
||||
bool hadAssign;
|
||||
bool hadMatch;
|
||||
Item(int seqNo, int controlNo, int serialNo, int controlType,const std::string& cardName,const std::string& cardIP, bool isEnable, bool hadAssign, bool hadMatch)
|
||||
:seqNo(seqNo), controlNo(controlNo), serialNo(serialNo), controlType(controlType),
|
||||
cardName(cardName), cardIP(cardIP), isEnable(isEnable), hadAssign(hadAssign), hadMatch(hadMatch) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
class ClientInfo;
|
||||
|
@ -64,8 +64,26 @@ Status StreamServer::AllStream(ServerContext* context, grpc::ServerReaderWriter<
|
||||
//函数参数
|
||||
std::list<Item> paramLst; //
|
||||
for (const ::stream::ParamInfo it : request.item()) {
|
||||
paramLst.emplace_back(Item{ it.namekey(),it.strvalue() ,(DATATYPE)it.valuetype()
|
||||
,it.context(),it.isenable(),it.isalarm(),it.isshow(),it.startlayer(),it.endlayer(),it.powder()}); //直接加到readData.its上面,后续的请求无法收到,不知道为啥
|
||||
Item temp{ it.namekey(),it.strvalue() ,(DATATYPE)it.valuetype() };
|
||||
|
||||
temp.content = it.context();
|
||||
temp.isEnable = it.isenable();
|
||||
temp.isAlarm = it.isalarm();
|
||||
temp.isShow = it.isshow();
|
||||
|
||||
temp.start_layer = it.startlayer();
|
||||
temp.end_layer = it.endlayer();
|
||||
temp.powder = it.powder();
|
||||
|
||||
temp.seqNo = it.seqno();
|
||||
temp.controlNo = it.controlno();
|
||||
temp.serialNo = it.serialno();
|
||||
temp.controlType = it.controltype();
|
||||
temp.cardName = it.cardname();
|
||||
temp.cardIP = it.cardip();
|
||||
temp.hadAssign = it.hadassign();
|
||||
temp.hadMatch = it.hadmatch();
|
||||
paramLst.emplace_back(std::move(temp)); //直接加到readData.its上面,后续的请求无法收到,不知道为啥
|
||||
}
|
||||
|
||||
printf("客户端消息:dataType:%d,nameKey:%s, strValue:%s,valueType:%d,lst:%zd\n",
|
||||
@ -101,6 +119,16 @@ Status StreamServer::AllStream(ServerContext* context, grpc::ServerReaderWriter<
|
||||
paramInfo->set_startlayer(wd->start_layer);
|
||||
paramInfo->set_endlayer(wd->end_layer);
|
||||
paramInfo->set_powder(wd->powder);
|
||||
|
||||
paramInfo->set_seqno(wd->seqNo);
|
||||
paramInfo->set_controlno(wd->controlNo);
|
||||
paramInfo->set_serialno(wd->serialNo);
|
||||
paramInfo->set_controltype(wd->controlType);
|
||||
paramInfo->set_cardname(wd->cardName);
|
||||
paramInfo->set_cardip(wd->cardIP);
|
||||
paramInfo->set_isenable(wd->isEnable);
|
||||
paramInfo->set_hadassign(wd->hadAssign);
|
||||
paramInfo->set_hadmatch(wd->hadMatch);
|
||||
}
|
||||
stream->Write(response);
|
||||
}
|
||||
|
@ -76,8 +76,8 @@ bool RTC5Scanner::Init()
|
||||
// m_SeqBit[i] = true;
|
||||
//}
|
||||
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo->GetValue();
|
||||
if ((m_ScannerControlCfg->m_SeqNo->GetValue() % 2) != 0) {
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo ;
|
||||
if ((m_ScannerControlCfg->m_SeqNo % 2) != 0) {
|
||||
m_IsLeftScan = true;
|
||||
}
|
||||
else {
|
||||
@ -104,7 +104,7 @@ bool RTC5Scanner::Init()
|
||||
return false;
|
||||
}
|
||||
char buffer[512];
|
||||
sprintf_s(buffer, sizeof(buffer), "%sSLM%d.ct5", g_AppPath.c_str(), m_ScannerControlCfg->m_SeqNo->GetValue());
|
||||
sprintf_s(buffer, sizeof(buffer), "%sSLM%d.ct5", g_AppPath.c_str(), m_ScannerControlCfg->m_SeqNo );
|
||||
string crtPath = string(buffer);
|
||||
uint32_t dim = m_CorrectParamCfg->m_IsCorrectFile3D ? 3 : 2;
|
||||
error = n_load_correction_file(controlNo, crtPath.c_str(), 1, dim);
|
||||
@ -195,7 +195,7 @@ void RTC5Scanner::LoadList(unsigned int listid, bool wait)
|
||||
{
|
||||
|
||||
if (wait) {
|
||||
while (!n_load_list(m_ScannerControlCfg->m_ControlNo->GetValue(), listid, 0)) {
|
||||
while (!n_load_list(m_ScannerControlCfg->m_ControlNo , listid, 0)) {
|
||||
Sleep(20);
|
||||
if (BaseCtrl::IsStop()) {
|
||||
break;
|
||||
@ -203,28 +203,28 @@ void RTC5Scanner::LoadList(unsigned int listid, bool wait)
|
||||
}
|
||||
}
|
||||
else {
|
||||
n_load_list(m_ScannerControlCfg->m_ControlNo->GetValue(), listid, 0);
|
||||
n_load_list(m_ScannerControlCfg->m_ControlNo , listid, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void RTC5Scanner::EndList()
|
||||
{
|
||||
n_set_end_of_list(m_ScannerControlCfg->m_ControlNo->GetValue());
|
||||
n_set_end_of_list(m_ScannerControlCfg->m_ControlNo );
|
||||
}
|
||||
|
||||
void RTC5Scanner::AutoChangeList() {
|
||||
n_auto_change(m_ScannerControlCfg->m_ControlNo->GetValue());
|
||||
n_auto_change(m_ScannerControlCfg->m_ControlNo );
|
||||
}
|
||||
|
||||
void RTC5Scanner::ListExecute(unsigned int listid, bool wait)
|
||||
{
|
||||
n_execute_list(m_ScannerControlCfg->m_ControlNo->GetValue(), listid);
|
||||
n_execute_list(m_ScannerControlCfg->m_ControlNo , listid);
|
||||
unsigned int Busy(0), Pos(0);
|
||||
if (wait) {
|
||||
do
|
||||
{
|
||||
Sleep(10);
|
||||
n_get_status(m_ScannerControlCfg->m_ControlNo->GetValue(), Busy, Pos);
|
||||
n_get_status(m_ScannerControlCfg->m_ControlNo , Busy, Pos);
|
||||
if (BaseCtrl::IsStop()) {
|
||||
break;
|
||||
}
|
||||
@ -248,8 +248,8 @@ void RTC5Scanner::AddVector(double startx, double starty, double endx, double en
|
||||
long lstarty = lround(bity1);
|
||||
long lendx = lround(bitx2);
|
||||
long lendy = lround(bity2);
|
||||
n_jump_abs(m_ScannerControlCfg->m_ControlNo->GetValue(), lstartx, lstarty);
|
||||
n_mark_abs(m_ScannerControlCfg->m_ControlNo->GetValue(), lendx, lendy);
|
||||
n_jump_abs(m_ScannerControlCfg->m_ControlNo , lstartx, lstarty);
|
||||
n_mark_abs(m_ScannerControlCfg->m_ControlNo , lendx, lendy);
|
||||
}
|
||||
|
||||
|
||||
@ -264,7 +264,7 @@ void RTC5Scanner::JumpAbs(double x, double y)
|
||||
|
||||
long lx = lround(bitx1);
|
||||
long ly = lround(bity1);
|
||||
n_jump_abs(m_ScannerControlCfg->m_ControlNo->GetValue(), lx, ly);
|
||||
n_jump_abs(m_ScannerControlCfg->m_ControlNo , lx, ly);
|
||||
}
|
||||
|
||||
void RTC5Scanner::MarkAbs(double x, double y)
|
||||
@ -278,7 +278,7 @@ void RTC5Scanner::MarkAbs(double x, double y)
|
||||
|
||||
long lx = lround(bitx1);
|
||||
long ly = lround(bity1);
|
||||
n_mark_abs(m_ScannerControlCfg->m_ControlNo->GetValue(), lx, ly);
|
||||
n_mark_abs(m_ScannerControlCfg->m_ControlNo , lx, ly);
|
||||
}
|
||||
|
||||
|
||||
@ -288,7 +288,7 @@ void RTC5Scanner::WaitListFree()
|
||||
do
|
||||
{
|
||||
Sleep(5);
|
||||
n_get_status(m_ScannerControlCfg->m_ControlNo->GetValue(), Busy, Pos);
|
||||
n_get_status(m_ScannerControlCfg->m_ControlNo , Busy, Pos);
|
||||
if (BaseCtrl::IsStop()) {
|
||||
break;
|
||||
}
|
||||
@ -300,7 +300,7 @@ void RTC5Scanner::ScanDebug()
|
||||
{
|
||||
SetAutoUpdateScanInfo(false);
|
||||
Sleep(200);
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo->GetValue();
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo ;
|
||||
unsigned int power = (unsigned int)(4095.0*m_PowerCompensateCfg->CalcPowerCompensate((float)m_ScanTestCfg->m_laser_power) / 100.0);
|
||||
if (power > 4095)power = 4095;
|
||||
double markspeed = m_kfactor*m_ScanParamCfg->m_mark_speed / 1000.0;
|
||||
@ -326,7 +326,7 @@ void RTC5Scanner::ScanDebug()
|
||||
|
||||
void RTC5Scanner::ScanTestProc() {
|
||||
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo->GetValue();
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo ;
|
||||
int shapeSize = m_ScanTestCfg->m_shape_size;
|
||||
switch (m_ScanTestCfg->m_debug_shape) {
|
||||
case Cross: {
|
||||
@ -472,7 +472,7 @@ void RTC5Scanner::UpdateScanParamByCfg(ScanParamCfg* cfg)
|
||||
unsigned int minJumpDelay = cfg->m_min_jump_delay / 10;
|
||||
double jumpspeed = m_kfactor* cfg->m_jump_speed / 1000.0;
|
||||
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo->GetValue();
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo ;
|
||||
n_set_scanner_delays(controlNo, jumpDelay, markDelay, polygonDelay);
|
||||
n_set_laser_delays(controlNo, laserOnDealy, laserOffDelay);
|
||||
n_set_delay_mode_list(controlNo, 1, 1, edgeLevel, minJumpDelay, (unsigned int)(cfg->m_jump_length_limit*m_kfactor));
|
||||
@ -495,7 +495,7 @@ void RTC5Scanner::UpdateSetting()
|
||||
unsigned int minJumpDelay = m_ScanParamCfg->m_min_jump_delay / 10;
|
||||
unsigned int power = 4095.0* m_PowerCompensateCfg->CalcPowerCompensate((float)m_ScanTestCfg->m_laser_power) / 100.0;
|
||||
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo->GetValue();
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo ;
|
||||
double markspeed = m_kfactor*m_ScanParamCfg->m_mark_speed / 1000.0;
|
||||
double jumpspeed = m_kfactor*m_ScanParamCfg->m_jump_speed / 1000.0;
|
||||
n_write_da_x(controlNo, 1, power); //设置功率
|
||||
@ -515,19 +515,19 @@ void RTC5Scanner::UpdateSetting()
|
||||
void RTC5Scanner::SetScanSpeed(double fvalue)
|
||||
{
|
||||
double speed = fvalue / 1000.0*m_kfactor;
|
||||
n_set_mark_speed(m_ScannerControlCfg->m_ControlNo->GetValue(), speed);
|
||||
n_set_mark_speed(m_ScannerControlCfg->m_ControlNo , speed);
|
||||
}
|
||||
|
||||
void RTC5Scanner::SetPower(double watt)
|
||||
{
|
||||
unsigned int power = 4095.0*watt / 100;
|
||||
if (power > 4095)power = 4095;
|
||||
n_write_da_1_list(m_ScannerControlCfg->m_ControlNo->GetValue(), power);
|
||||
n_write_da_1_list(m_ScannerControlCfg->m_ControlNo , power);
|
||||
}
|
||||
|
||||
bool RTC5Scanner::StopWork() {
|
||||
|
||||
n_stop_execution(m_ScannerControlCfg->m_ControlNo->GetValue());
|
||||
n_stop_execution(m_ScannerControlCfg->m_ControlNo );
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -548,7 +548,7 @@ void RTC5Scanner::UpdateSkyWriting(bool islist)
|
||||
long laserOnShift = 0;
|
||||
unsigned int nprev = 0;
|
||||
unsigned int npost = 0;
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo->GetValue();
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo ;
|
||||
switch (m_SkyWritingCfg->m_Mode)
|
||||
{
|
||||
case 1:
|
||||
@ -599,21 +599,21 @@ void RTC5Scanner::SetSkyWritingEnable(bool benable, bool islist)
|
||||
UpdateSkyWriting(islist);
|
||||
}
|
||||
else {
|
||||
if (islist) n_set_sky_writing_mode_list(m_ScannerControlCfg->m_ControlNo->GetValue(), 0);
|
||||
else n_set_sky_writing_mode(m_ScannerControlCfg->m_ControlNo->GetValue(), 0);
|
||||
if (islist) n_set_sky_writing_mode_list(m_ScannerControlCfg->m_ControlNo , 0);
|
||||
else n_set_sky_writing_mode(m_ScannerControlCfg->m_ControlNo , 0);
|
||||
}
|
||||
}
|
||||
|
||||
void RTC5Scanner::SetDefocus(float value)
|
||||
{
|
||||
long ds = value*m_zfactor;
|
||||
n_set_defocus_list(m_ScannerControlCfg->m_ControlNo->GetValue(), ds);
|
||||
n_set_defocus_list(m_ScannerControlCfg->m_ControlNo , ds);
|
||||
}
|
||||
|
||||
|
||||
void RTC5Scanner::ListNop() {
|
||||
|
||||
n_list_nop(m_ScannerControlCfg->m_ControlNo->GetValue());
|
||||
n_list_nop(m_ScannerControlCfg->m_ControlNo );
|
||||
|
||||
}
|
||||
|
||||
@ -622,29 +622,29 @@ void RTC5Scanner::CheckAlarm()
|
||||
{
|
||||
|
||||
if (!m_MachineCfg->m_IsIntelli->GetValue())return;
|
||||
n_control_command(m_ScannerControlCfg->m_ControlNo->GetValue(), 1, 1, CurrentOperationStateLowAddr);
|
||||
n_control_command(m_ScannerControlCfg->m_ControlNo , 1, 1, CurrentOperationStateLowAddr);
|
||||
Sleep(2);
|
||||
int xlowstate = n_get_value(m_ScannerControlCfg->m_ControlNo->GetValue(), 1);
|
||||
int xlowstate = n_get_value(m_ScannerControlCfg->m_ControlNo , 1);
|
||||
bool IsInternalVoltagesNormalX = (xlowstate & 0x20000) ? true : false;
|
||||
bool IsCriticalErrorX = (xlowstate & 0x2000) ? false : true;
|
||||
bool IsScannerAndServoBoradTempNormalX = (xlowstate & 0x8000) ? true : false;
|
||||
|
||||
n_control_command(m_ScannerControlCfg->m_ControlNo->GetValue(), 1, 2, CurrentOperationStateLowAddr);
|
||||
n_control_command(m_ScannerControlCfg->m_ControlNo , 1, 2, CurrentOperationStateLowAddr);
|
||||
Sleep(2);
|
||||
int ylowstate = n_get_value(m_ScannerControlCfg->m_ControlNo->GetValue(), 2);
|
||||
int ylowstate = n_get_value(m_ScannerControlCfg->m_ControlNo , 2);
|
||||
bool IsInternalVoltagesNormalY = (ylowstate & 0x20000) ? true : false;
|
||||
bool IsCriticalErrorY = (ylowstate & 0x2000) ? false : true;
|
||||
bool IsScannerAndServoBoradTempNormalY = (ylowstate & 0x8000) ? true : false;
|
||||
|
||||
n_control_command(m_ScannerControlCfg->m_ControlNo->GetValue(), 1, 1, StopEventCode);
|
||||
n_control_command(m_ScannerControlCfg->m_ControlNo , 1, 1, StopEventCode);
|
||||
Sleep(2);
|
||||
int xstopeven = n_get_value(m_ScannerControlCfg->m_ControlNo->GetValue(), 1);
|
||||
int xstopeven = n_get_value(m_ScannerControlCfg->m_ControlNo , 1);
|
||||
|
||||
n_control_command(m_ScannerControlCfg->m_ControlNo->GetValue(), 1, 2, StopEventCode);
|
||||
n_control_command(m_ScannerControlCfg->m_ControlNo , 1, 2, StopEventCode);
|
||||
Sleep(2);
|
||||
int ystopeven = n_get_value(m_ScannerControlCfg->m_ControlNo->GetValue(), 2);
|
||||
int ystopeven = n_get_value(m_ScannerControlCfg->m_ControlNo , 2);
|
||||
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo->GetValue();
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo ;
|
||||
bool isAlarm = false;
|
||||
stringstream ss;
|
||||
char buffer[256];
|
||||
@ -716,7 +716,7 @@ void RTC5Scanner::UpdateScannerInfo()
|
||||
{
|
||||
if (!m_MachineCfg->m_IsIntelli->GetValue())return;
|
||||
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo->GetValue();
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo ;
|
||||
n_control_command(controlNo, 1, 1, ActualPositionAddr);
|
||||
Sleep(2);
|
||||
long xap = n_get_value(controlNo, 1);
|
||||
@ -989,7 +989,7 @@ void RTC5Scanner::HeatingScannerRun()
|
||||
sqlength, -sqlength,
|
||||
-sqlength, -sqlength
|
||||
};
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo->GetValue();
|
||||
int controlNo = m_ScannerControlCfg->m_ControlNo ;
|
||||
double markspeed = m_kfactor* m_ScannerControlCfg->m_ScanCfgWrapper.m_ScanTestCfg.m_AutoHeatingScannerSpeed / 1000.0;
|
||||
int sqsize = (sizeof(square) / sizeof(polygon));
|
||||
n_set_start_list(controlNo, 1);
|
||||
@ -1027,5 +1027,5 @@ void RTC5Scanner::HeatingScannerRun()
|
||||
|
||||
void RTC5Scanner::ResetDefocus()
|
||||
{
|
||||
n_set_defocus(m_ScannerControlCfg->m_ControlNo->GetValue(), 0);
|
||||
n_set_defocus(m_ScannerControlCfg->m_ControlNo , 0);
|
||||
}
|
||||
|
@ -166,7 +166,7 @@ bool Scanner::BeginWork()
|
||||
DWORD WINAPI Scanner::ScanProc(Scanner* _this)
|
||||
{
|
||||
if (_this) {
|
||||
int seqNo = _this->m_ScannerControlCfg->m_SeqNo->GetValue();
|
||||
int seqNo = _this->m_ScannerControlCfg->m_SeqNo ;
|
||||
if (_this->m_MachineCfg->IsDataSeqStragegy())
|
||||
{
|
||||
EnterCriticalSection(&m_SeqCS);
|
||||
@ -243,7 +243,7 @@ void Scanner::Clean()
|
||||
|
||||
EnterCriticalSection(&m_SeqCS);
|
||||
if (m_ScannerControlCfg){
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo->GetValue();
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo ;
|
||||
m_SeqDataUnFinishBit[seqNo] = false;
|
||||
m_SupportSeqDataUnFinishBit[seqNo] = false;
|
||||
}
|
||||
@ -320,7 +320,7 @@ void Scanner::Scan(void)
|
||||
SetSkyWritingEnable(isSkyWritingEnable, true);
|
||||
SetScanSpeed(laserSpeed);
|
||||
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo->GetValue();
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo ;
|
||||
g_SystemInfo->m_StateBean.laserParams[seqNo - 1]->laserSpeed = laserSpeed;
|
||||
SetPower(laserPower);
|
||||
g_SystemInfo->m_StateBean.laserParams[seqNo - 1]->laserPower = paramSet->laser_set->laser_power;
|
||||
@ -480,7 +480,7 @@ void Scanner::ScanSeqV2() {
|
||||
if (BaseCtrl::IsStop())return;
|
||||
|
||||
EnterCriticalSection(&m_SeqCS);
|
||||
m_SupportSeqDataUnFinishBit[m_ScannerControlCfg->m_SeqNo->GetValue()] = false;
|
||||
m_SupportSeqDataUnFinishBit[m_ScannerControlCfg->m_SeqNo ] = false;
|
||||
LeaveCriticalSection(&m_SeqCS);
|
||||
|
||||
while (true && (!BaseCtrl::IsStop())) {
|
||||
@ -640,7 +640,7 @@ void Scanner::ScanSeqV2() {
|
||||
}
|
||||
else {
|
||||
EnterCriticalSection(&m_SeqCS);
|
||||
m_SeqDataUnFinishBit[m_ScannerControlCfg->m_SeqNo->GetValue()] = false;
|
||||
m_SeqDataUnFinishBit[m_ScannerControlCfg->m_SeqNo ] = false;
|
||||
int sb = m_SeqDataUnFinishBit.to_ulong();
|
||||
if (sb == 0) {
|
||||
Printdbi = m_ZeroSeq.front();
|
||||
@ -680,13 +680,13 @@ void Scanner::ScanSeqV2() {
|
||||
SetSkyWritingEnable(isSkyWritingEnable, true);
|
||||
SetScanSpeed(laserSpeed);
|
||||
|
||||
g_SystemInfo->m_StateBean.laserParams[m_ScannerControlCfg->m_SeqNo->GetValue() - 1]->laserSpeed = laserSpeed;
|
||||
g_SystemInfo->m_StateBean.laserParams[m_ScannerControlCfg->m_SeqNo - 1]->laserSpeed = laserSpeed;
|
||||
SetPower(laserPower);
|
||||
g_SystemInfo->m_StateBean.laserParams[m_ScannerControlCfg->m_SeqNo->GetValue() - 1]->laserPower = paramSet->laser_set->laser_power;
|
||||
g_SystemInfo->m_StateBean.laserParams[m_ScannerControlCfg->m_SeqNo - 1]->laserPower = paramSet->laser_set->laser_power;
|
||||
|
||||
if (m_CorrectParamCfg->m_IsDynamicFocus) {
|
||||
SetDefocus(ds);
|
||||
g_SystemInfo->m_StateBean.laserParams[m_ScannerControlCfg->m_SeqNo->GetValue() - 1]->laserDefocus = ds;
|
||||
g_SystemInfo->m_StateBean.laserParams[m_ScannerControlCfg->m_SeqNo - 1]->laserDefocus = ds;
|
||||
}
|
||||
EndList();
|
||||
ListExecute(1, nodebug);
|
||||
@ -853,7 +853,7 @@ void Scanner::ScanMass() {
|
||||
}
|
||||
if (BaseCtrl::IsStop())return;
|
||||
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo->GetValue();
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo ;
|
||||
EnterCriticalSection(&m_SeqCS);
|
||||
m_SupportSeqDataUnFinishBit[seqNo] = false;
|
||||
LeaveCriticalSection(&m_SeqCS);
|
||||
@ -1005,7 +1005,7 @@ void Scanner::ScanDataBlock(DataBlockInfo* Printdbi)
|
||||
SetSkyWritingEnable(isSkyWritingEnable, true);
|
||||
SetScanSpeed(laserSpeed);
|
||||
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo->GetValue();
|
||||
int seqNo = m_ScannerControlCfg->m_SeqNo ;
|
||||
g_SystemInfo->m_StateBean.laserParams[seqNo - 1]->laserSpeed = laserSpeed;
|
||||
SetPower(laserPower);
|
||||
g_SystemInfo->m_StateBean.laserParams[seqNo - 1]->laserPower = paramSet->laser_set->laser_power;
|
||||
|
@ -88,7 +88,7 @@ bool ScannerCtrl::Init() {
|
||||
for (map<int, ScannerControlCfg*>::iterator scc = scannerControlCfgsMap->begin(); scc != scannerControlCfgsMap->end(); scc++)
|
||||
{
|
||||
ScannerControlCfg* cfg = scc->second;
|
||||
if (cfg->m_SerialNo->GetValue() == s->second)
|
||||
if (cfg->m_SerialNo == s->second)
|
||||
{
|
||||
find = true;
|
||||
break;
|
||||
@ -97,19 +97,19 @@ bool ScannerCtrl::Init() {
|
||||
if (!find && flag < difSize)
|
||||
{
|
||||
ScannerControlCfg* cfg = new ScannerControlCfg();
|
||||
cfg->m_SeqNo->SetValue(scannerControlCfgsMap->size() + 1);
|
||||
cfg->m_CardName->SetValue("Laser" + to_string(cfg->m_SeqNo->GetValue()));
|
||||
cfg->m_ControlNo->SetValue(s->first);
|
||||
cfg->m_ControlType->SetValue(m_MachineCfg->m_ScanControl->GetValue());
|
||||
cfg->m_SerialNo->SetValue(s->second);
|
||||
cfg->m_HadMatch->SetValue(false);
|
||||
cfg->m_IsEnable->SetValue(true);
|
||||
cfg->m_SeqNo=scannerControlCfgsMap->size() + 1;
|
||||
cfg->m_CardName="Laser" + to_string(cfg->m_SeqNo);
|
||||
cfg->m_ControlNo = s->first;
|
||||
cfg->m_ControlType = m_MachineCfg->m_ScanControl->GetValue();
|
||||
cfg->m_SerialNo = s->second;
|
||||
cfg->m_HadMatch = false;
|
||||
cfg->m_IsEnable = true;
|
||||
cfg->Init();
|
||||
//m_Machine->InitScanParamBeforeFind(&cfg->m_ScanCfgWrapper);
|
||||
ConfigManager::GetInstance()->GetScannerControlCfgDao()->Add(cfg);
|
||||
ConfigManager::GetInstance()->GetScannerControlCfgDao()->Maintain(cfg);
|
||||
ConfigManager::GetInstance()->GetScannerControlCfgs()->push_back(cfg);
|
||||
(*scannerControlCfgsMap)[cfg->m_SeqNo->GetValue()] = cfg;
|
||||
(*scannerControlCfgsMap)[cfg->m_SeqNo ] = cfg;
|
||||
flag++;
|
||||
}
|
||||
}
|
||||
@ -125,7 +125,7 @@ bool ScannerCtrl::Init() {
|
||||
int index = 0;
|
||||
for (map<int, ScannerControlCfg*>::iterator sit = scannerControlCfgsMap->begin(); sit != scannerControlCfgsMap->end(); sit++) {
|
||||
ScannerControlCfg* cfg = sit->second;
|
||||
int seqNo = cfg->m_SeqNo->GetValue();
|
||||
int seqNo = cfg->m_SeqNo ;
|
||||
if (m_IOCfgWrapper->m_LaserIOMap.find(seqNo) != m_IOCfgWrapper->m_LaserIOMap.end()) {
|
||||
cfg->m_LaserRed = m_IOCfgWrapper->m_LaserIOMap[seqNo]->m_LaserRed;
|
||||
cfg->m_LaserStart = m_IOCfgWrapper->m_LaserIOMap[seqNo]->m_LaserStart;
|
||||
@ -778,7 +778,7 @@ void ScannerCtrl::DispatchDataBlock()
|
||||
for (size_t scanIndex = 0; scanIndex < m_scan.size(); ++scanIndex) {
|
||||
Scanner* scanner = m_scan[scanIndex];
|
||||
scanner->m_JobStartTime = job->m_FirstStartTime;
|
||||
scanMap[scanner->GetConfig()->m_SeqNo->GetValue()] = scanner;
|
||||
scanMap[scanner->GetConfig()->m_SeqNo ] = scanner;
|
||||
}
|
||||
|
||||
m_DownSkinStopFlag = 1;
|
||||
@ -1258,7 +1258,7 @@ void ScannerCtrl::DispatchDataBlock()
|
||||
sstatus->m_ScanServoTempX = sxy.m_X.m_ServoBoardTemp;
|
||||
sstatus->m_ScanTempY = sxy.m_Y.m_GalvanometerScannerTemp;
|
||||
sstatus->m_ScanServoTempY = sxy.m_Y.m_ServoBoardTemp;
|
||||
sstatus->m_ScanId = m_scan[scanIndex]->GetConfig()->m_SeqNo->GetValue();
|
||||
sstatus->m_ScanId = m_scan[scanIndex]->GetConfig()->m_SeqNo;
|
||||
sstatus->m_JobId = jobBean->m_Id;
|
||||
sstatus->m_LayerIndex = layerindex;
|
||||
sstatus->m_ActualPositionX = sxy.m_X.m_ActualPosition;
|
||||
@ -1275,7 +1275,7 @@ void ScannerCtrl::DispatchDataBlock()
|
||||
|
||||
if (m_scan[scanIndex]->GetConfig()->m_ScanCfgWrapper.m_CorrectParamCfg.m_IsDynamicFocus) {
|
||||
FocusStatus* fs = new FocusStatus();
|
||||
fs->m_ScanId = m_scan[scanIndex]->GetConfig()->m_SeqNo->GetValue();
|
||||
fs->m_ScanId = m_scan[scanIndex]->GetConfig()->m_SeqNo ;
|
||||
fs->m_JobId = jobBean->m_Id;
|
||||
fs->m_LayerIndex = layerindex;
|
||||
time(&fs->m_InsertTime);
|
||||
@ -1399,7 +1399,7 @@ void ScannerCtrl::DispatchTestDataBlock()
|
||||
|
||||
for (size_t scanIndex = 0; scanIndex < m_scan.size(); ++scanIndex) {
|
||||
Scanner* scanner = m_scan[scanIndex];
|
||||
scanMap[scanner->GetConfig()->m_SeqNo->GetValue()] = scanner;
|
||||
scanMap[scanner->GetConfig()->m_SeqNo ] = scanner;
|
||||
m_scan[scanIndex]->Clean();
|
||||
}
|
||||
for (size_t i = 0; i < m_scan.size(); i++)
|
||||
@ -1574,7 +1574,7 @@ void ScannerCtrl::DispatchModelDataBlock(int partId, string scanType, float powe
|
||||
map<int, Scanner*> scanMap;
|
||||
for (size_t scanIndex = 0; scanIndex < m_scan.size(); ++scanIndex) {
|
||||
Scanner* scanner = m_scan[scanIndex];
|
||||
scanMap[scanner->GetConfig()->m_SeqNo->GetValue()] = scanner;
|
||||
scanMap[scanner->GetConfig()->m_SeqNo ] = scanner;
|
||||
m_scan[scanIndex]->Clean();
|
||||
}
|
||||
|
||||
@ -1812,7 +1812,7 @@ void ScannerCtrl::RemoveScanner(int seq)
|
||||
{
|
||||
for (vector<Scanner*>::iterator it = m_scan.begin(); it != m_scan.end();) {
|
||||
Scanner* s = (*it);
|
||||
if (s->GetConfig()->m_SeqNo->GetValue() == seq)
|
||||
if (s->GetConfig()->m_SeqNo == seq)
|
||||
{
|
||||
delete s;
|
||||
it = m_scan.erase(it);
|
||||
@ -2017,7 +2017,7 @@ void ScannerCtrl::SendToClients() {
|
||||
|
||||
auto iter = Scanner::m_CurrentSerio.begin();
|
||||
while (iter != Scanner::m_CurrentSerio.end()) {
|
||||
lst.emplace_back(Item{ to_string(iter->first), to_string(iter->second), iUINT });
|
||||
lst.emplace_back(Item(to_string(iter->first), to_string(iter->second), iUINT ));
|
||||
++iter;
|
||||
}
|
||||
|
||||
|
@ -959,7 +959,7 @@ void Calibration::GraftRun()
|
||||
float mminy = rt.y;
|
||||
float mmaxy = rt.y + rt.height;
|
||||
if (mminx >lminx && lmaxx>mmaxx && mminy >lminy && lmaxy > mmaxy) {
|
||||
matchLaser = (*cfgs)[lindex]->m_SeqNo->GetValue();
|
||||
matchLaser = (*cfgs)[lindex]->m_SeqNo ;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -976,7 +976,7 @@ void Calibration::GraftRun()
|
||||
float mminy = rt2.y;
|
||||
float mmaxy = rt2.y + rt2.height;
|
||||
if (mminx > lminx && lmaxx > mmaxx && mminy > lminy && lmaxy > mmaxy) {
|
||||
dataLaser = (*cfgs)[lindex]->m_SeqNo->GetValue();
|
||||
dataLaser = (*cfgs)[lindex]->m_SeqNo ;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -121,9 +121,9 @@ int H3DFileProcessor::Process(string jobfile)
|
||||
|
||||
if ((sf->dimension->xmin >= cfg_xmin) && (sf->dimension->xmax <= cfg_xmax) && (sf->dimension->ymin >= cfg_ymin) && (sf->dimension->ymax <= cfg_ymax)) {
|
||||
canSelectIndexs.push(laserIndex);
|
||||
if (!hasSelected[cfg->m_SeqNo->GetValue()]) {
|
||||
if (!hasSelected[cfg->m_SeqNo ]) {
|
||||
metadata->m_FieldRefScanLaser[sf->id] = cfg;
|
||||
hasSelected[cfg->m_SeqNo->GetValue()] = 1;
|
||||
hasSelected[cfg->m_SeqNo ] = 1;
|
||||
hasfind = true;
|
||||
break;
|
||||
}
|
||||
@ -278,7 +278,7 @@ int H3DFileProcessor::Process(string jobfile)
|
||||
}
|
||||
|
||||
if (laserCfg) {
|
||||
db->cno = laserCfg->m_SeqNo->GetValue();
|
||||
db->cno = laserCfg->m_SeqNo ;
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -796,7 +796,7 @@ void XMLCALL JobMetaData::EndElement(void* userData, const XML_Char* name)
|
||||
}
|
||||
|
||||
if (laserCfg) {
|
||||
job->parseAssist.lastDataBlock->cno = laserCfg->m_SeqNo->GetValue();
|
||||
job->parseAssist.lastDataBlock->cno = laserCfg->m_SeqNo ;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1033,9 +1033,9 @@ void XMLCALL JobMetaData::EndElement(void* userData, const XML_Char* name)
|
||||
|
||||
if ((sf->dimension->xmin >= cfg_xmin) && (sf->dimension->xmax <= cfg_xmax) && (sf->dimension->ymin >= cfg_ymin) && (sf->dimension->ymax <= cfg_ymax)) {
|
||||
canSelectIndexs.push(laserIndex);
|
||||
if (!hasSelected[cfg->m_SeqNo->GetValue()]) {
|
||||
if (!hasSelected[cfg->m_SeqNo ]) {
|
||||
job->m_FieldRefScanLaser[sf->id] = cfg;
|
||||
hasSelected[cfg->m_SeqNo->GetValue()] = 1;
|
||||
hasSelected[cfg->m_SeqNo ] = 1;
|
||||
hasfind = true;
|
||||
break;
|
||||
}
|
||||
|
@ -458,7 +458,7 @@ void MetaData::ReCalcEvaTime()
|
||||
sum = markMil + jumpMil + hatching + jumpdelay + markdelay + 20.0 + flag;
|
||||
datablock->scanTime = sum;
|
||||
// milsec += sum;
|
||||
layer->estimateTimeMap[laserCfg->m_SeqNo->GetValue()] += sum;
|
||||
layer->estimateTimeMap[laserCfg->m_SeqNo ] += sum;
|
||||
}
|
||||
double max = 0.0;
|
||||
for (map<int, double>::iterator it = layer->estimateTimeMap.begin(); it != layer->estimateTimeMap.end(); it++) {
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -48,6 +48,15 @@ message ParamInfo{
|
||||
int32 startLayer = 8; //层供粉量配置使用 struct PowderSet
|
||||
int32 endLayer = 9;
|
||||
float powder = 10;
|
||||
|
||||
int32 seqNo = 11; //ScannerControlCfg使用
|
||||
int32 controlNo = 12;
|
||||
int32 serialNo = 13;
|
||||
int32 controlType = 14;
|
||||
bytes cardName = 15;
|
||||
bytes cardIP = 16;
|
||||
bool hadAssign = 17;
|
||||
bool hadMatch = 18; //isEnable公用
|
||||
}
|
||||
|
||||
message RequestInfo { //读
|
||||
@ -135,9 +144,174 @@ message ComResponce{
|
||||
bytes data = 1;
|
||||
}
|
||||
|
||||
//ScannerCrtlCfg结构体
|
||||
message ScannerCrtlCfgResp{
|
||||
repeated ScannerCrtlCfgData scannerCfg = 1;
|
||||
}
|
||||
|
||||
message ScannerCrtlCfgData{
|
||||
int32 seqNo = 1;
|
||||
|
||||
repeated FixPointData fixPointData = 2;
|
||||
ScanParamCfg scanParamCfg = 3;
|
||||
ScanParamCfg hatchingParams = 4;
|
||||
ScanParamCfg borderParams = 5;
|
||||
ScanParamCfg supportParams = 6;
|
||||
CorrectParamCfg correctParamCfg = 7;
|
||||
ScanTestCfg scanTestCfg = 8;
|
||||
SkyWritingCfg skyWritingCfg = 9;
|
||||
repeated PowerCompensate powerCompensate = 10;
|
||||
repeated TimePowerCompensate tPowerCompensate = 11;
|
||||
|
||||
int32 controlNo = 12;
|
||||
int32 serialNo = 13;
|
||||
int32 controlType = 14;
|
||||
bytes cardName = 15;
|
||||
bytes cardIP = 16;
|
||||
bool isEnable = 17; //是否启动
|
||||
bool hadAssign = 18;
|
||||
bool hadMatch = 19;
|
||||
}
|
||||
|
||||
message FixPointData{
|
||||
int32 id = 1;
|
||||
int32 cno = 2;
|
||||
float pointX = 3;
|
||||
float pointY = 4;
|
||||
uint32 duration = 5;
|
||||
}
|
||||
|
||||
|
||||
|
||||
message ScanParamCfg{
|
||||
int32 edgeLevel = 1;
|
||||
int32 edgeLevelMin = 2;
|
||||
int32 edgeLevelMax = 3;
|
||||
uint32 jumpDelay = 4;
|
||||
uint32 jumpDelayMin = 5;
|
||||
uint32 jumpDelayMax = 6;
|
||||
uint32 scanDelay = 7;
|
||||
uint32 scanDelayMin = 8;
|
||||
uint32 scanDelayMax = 9;
|
||||
uint32 polygonDelay = 10;
|
||||
uint32 polygonDelayMin = 11;
|
||||
uint32 polygonDelayMax = 12;
|
||||
int64 laseroffDelay = 13;
|
||||
int64 laseroffDelayMin = 14;
|
||||
int64 laseroffDelayMax = 15;
|
||||
int64 laseronDelay = 16;
|
||||
int64 laseronDelayMin = 17;
|
||||
int64 laseronDelayMax = 18;
|
||||
uint32 minJumpDelay = 19;
|
||||
uint32 minJumpDelayMin = 20;
|
||||
uint32 minJumpDelayMax = 21;
|
||||
uint32 jumpLengthLimit = 22;
|
||||
uint32 jumpLengthLimitMin = 23;
|
||||
uint32 jumpLengthLimitMax = 24;
|
||||
double jumpSpeed = 25;
|
||||
double jumpSpeedMin = 26;
|
||||
double jumpSpeedMax = 27;
|
||||
double markSpeed = 28;
|
||||
double markSpeedMin = 29;
|
||||
double markSpeedMax = 30;
|
||||
}
|
||||
|
||||
message CorrectParamCfg{
|
||||
double xmeasureMin = 1; //x可打印最小位置
|
||||
double xmeasureMax = 2; //x可打印最大位置
|
||||
double ymeasureMin = 3; //y可打印最小位置
|
||||
double ymeasureMax = 4; //y可打印最大位置
|
||||
double xposfix = 5; //x位置修正
|
||||
double yposfix = 6; //y位置修正
|
||||
double scanAngle = 7; //旋转角度 逆时针
|
||||
double scanAngleMin = 8;
|
||||
double scanAngleMax = 9;
|
||||
double fixAngle = 10; //旋转角度 逆时针
|
||||
double fixAngleMin = 11;
|
||||
double fixAngleMax = 12;
|
||||
double xcorrect = 13; //x尺寸修正
|
||||
double ycorrect = 14; //y尺寸修正
|
||||
double xcorrectMin = 15;
|
||||
double xcorrectMax = 16;
|
||||
double ycorrectMin = 17;
|
||||
double ycorrectMax = 18;
|
||||
double realXOffset = 19;
|
||||
double realYOffset = 20;
|
||||
double factorK = 21;
|
||||
bool isCorrectFile3D = 22;
|
||||
bool isDynamicFocus = 23; //是否动态聚焦
|
||||
double defocusRatio = 24; //离焦比
|
||||
double defocusRatioMin = 25;
|
||||
double defocusRatioMax = 26;
|
||||
}
|
||||
|
||||
message ScanTestCfg{
|
||||
int32 debugShape = 1;
|
||||
int32 shapeSize = 2;
|
||||
int32 shapeSizeMin = 3;
|
||||
int32 shape_size_max = 4;
|
||||
int32 laser_power = 5;
|
||||
int32 laser_power_min = 6;
|
||||
int32 laser_power_max = 7;
|
||||
double defocus = 8;
|
||||
double defocus_min = 9;
|
||||
double defocus_max = 10;
|
||||
bool is_cycle = 11;
|
||||
double cross_x = 12;
|
||||
double cross_y = 13;
|
||||
double z_distance = 14;
|
||||
bool isAutoHeatingScanner = 15; //开启暂停开始时预热振镜
|
||||
uint32 autoHeatingScannerMinutes = 16;
|
||||
uint32 autoHeatingScannerSize = 17;
|
||||
double autoHeatingScannerSpeed = 18;
|
||||
double mark_test_start_x = 19;
|
||||
double mark_test_start_y = 20;
|
||||
double mark_test_end_x = 21;
|
||||
double mark_test_end_y = 22;
|
||||
}
|
||||
|
||||
message SkyWritingCfg{
|
||||
bool isEnable = 1;
|
||||
double timelag = 2;
|
||||
double timelagMin = 3;
|
||||
double timelagMax = 4;
|
||||
int64 laserOnShift = 5;
|
||||
int64 laserOnShiftMin = 6;
|
||||
int64 laserOnShiftMax = 7;
|
||||
uint32 nprev = 8;
|
||||
uint32 nprevMin =9;
|
||||
uint32 nprevMax = 10;
|
||||
uint32 npost = 11;
|
||||
uint32 npostMin = 12;
|
||||
uint32 npostMax = 13;
|
||||
int32 mode = 14;
|
||||
double limite = 15;
|
||||
double limiteMin = 16;
|
||||
double limiteMax = 17;
|
||||
}
|
||||
|
||||
|
||||
message PowerCompensate{
|
||||
int32 cno = 1;
|
||||
int32 percent = 2;
|
||||
float value = 3;
|
||||
float value_min = 4;
|
||||
float value_max = 5;
|
||||
}
|
||||
|
||||
message TimePowerCompensate{
|
||||
int32 id = 1;
|
||||
int32 cno = 2;
|
||||
uint32 startMinute = 3;
|
||||
uint32 endMinute = 4;
|
||||
float compensate = 5;
|
||||
}
|
||||
|
||||
service Stream {
|
||||
rpc Simple(RequestInfo) returns (ResponseAny) {} // 简单模式
|
||||
rpc ServerStream (RequestInfo) returns (stream ResponseInfo) {} // 服务端数据流模式
|
||||
rpc ClientStream (stream RequestInfo) returns (ResponseInfo) {} // 客户端数据流模式
|
||||
rpc AllStream (stream RequestInfo) returns (stream ResponseInfo) {} // 双向数据流模式
|
||||
}
|
||||
|
||||
|
||||
|
@ -90,6 +90,11 @@ void DataHandle::PrintValue(const ReadData& msg){
|
||||
printf("接收:dataType:%d,startLayer:%d,endLayer:%d,powder:%.2f\n",
|
||||
msg.dataType,it->start_layer, it->end_layer, it->powder);
|
||||
}
|
||||
//else if (msg.dataType == SCANNERCONTROLCFGPARAM) {
|
||||
// printf("接收:dataType:%d,seqNo:%d,controlNo:%d,serialNo:%d,controlType:%d,cardName:%s,cardIP:%s,isEnable:%d,hadAssign:%d,hadMatch:%d\n",
|
||||
// msg.dataType, it->seqNo, it->controlNo, it->serialNo, it->controlType,
|
||||
// it->cardName.data(), it->cardIP.data(),it->isEnable, it->hadAssign,it->hadMatch);
|
||||
//}
|
||||
else {
|
||||
printf("接收:dataType:%d,nameKey:%*s, strvalue:%*s, valueType:%s\n",
|
||||
msg.dataType, 33, it->nameKey.data(), 13, it->strValue.data(), valueType.data());
|
||||
@ -185,18 +190,21 @@ void DataHandle::ParamReadUsage() {
|
||||
printf(" 37: " COLOR_YELLOW "print pausealarm cfg param data...\n" COLOR_RESET);
|
||||
printf(" 38: " COLOR_YELLOW "print warnalarm cfg param data...\n" COLOR_RESET);
|
||||
printf(" 39: " COLOR_YELLOW "print powder cfg param data...\n" COLOR_RESET);
|
||||
printf(" 40: " COLOR_YELLOW "print powder cfg param data...\n" COLOR_RESET);
|
||||
printf(" 41: " COLOR_YELLOW "print scaner ctrl cfg param data...\n" COLOR_RESET);
|
||||
|
||||
printf(" 40: " COLOR_YELLOW "print moldcfg param data...\n" COLOR_RESET);
|
||||
printf(" 41: " COLOR_YELLOW "print loadcfg param data...\n" COLOR_RESET);
|
||||
printf(" 42: " COLOR_YELLOW "print armcfgparam data...\n" COLOR_RESET);
|
||||
printf(" 43: " COLOR_YELLOW "print supplycfgparam data...\n" COLOR_RESET);
|
||||
printf(" 44: " COLOR_YELLOW "print cleancfgparam data...\n" COLOR_RESET);
|
||||
printf(" 45: " COLOR_YELLOW "print elecfgparam data...\n" COLOR_RESET);
|
||||
printf(" 46: " COLOR_YELLOW "print loadparamrsp data...\n" COLOR_RESET);
|
||||
printf(" 47: " COLOR_YELLOW "print scan ctrl state data...\n" COLOR_RESET);
|
||||
printf(" 48: " COLOR_YELLOW "print scan ctrl Param data...\n" COLOR_RESET);
|
||||
printf(" 49: " COLOR_YELLOW "print xy scan state data...\n" COLOR_RESET);
|
||||
printf(" 50: " COLOR_YELLOW "print camera param data...\n" COLOR_RESET);
|
||||
printf(" 42: " COLOR_YELLOW "print moldcfg param data...\n" COLOR_RESET);
|
||||
printf(" 43: " COLOR_YELLOW "print loadcfg param data...\n" COLOR_RESET);
|
||||
printf(" 44: " COLOR_YELLOW "print armcfgparam data...\n" COLOR_RESET);
|
||||
printf(" 45: " COLOR_YELLOW "print supplycfgparam data...\n" COLOR_RESET);
|
||||
printf(" 46: " COLOR_YELLOW "print cleancfgparam data...\n" COLOR_RESET);
|
||||
printf(" 47: " COLOR_YELLOW "print elecfgparam data...\n" COLOR_RESET);
|
||||
printf(" 48: " COLOR_YELLOW "print loadparamrsp data...\n" COLOR_RESET);
|
||||
printf(" 49: " COLOR_YELLOW "print scan ctrl state data...\n" COLOR_RESET);
|
||||
printf(" 50: " COLOR_YELLOW "print scan ctrl Param data...\n" COLOR_RESET);
|
||||
printf(" 51: " COLOR_YELLOW "print xy scan state data...\n" COLOR_RESET);
|
||||
printf(" 52: " COLOR_YELLOW "print camera param data...\n" COLOR_RESET);
|
||||
|
||||
}
|
||||
|
||||
int DataHandle::Request(int index) {
|
||||
@ -235,7 +243,7 @@ int DataHandle::Request(int index) {
|
||||
ParamReadUsage();
|
||||
}
|
||||
else if (userInput.find("push") != string::npos) {
|
||||
UpdateParam(userInput);
|
||||
UpdateParamToService(userInput);
|
||||
}
|
||||
else {
|
||||
ParamRequest(ConverType::TryToI(userInput));
|
||||
@ -264,6 +272,18 @@ void DataHandle::ParamRequest(int index) {
|
||||
if (index == VERSIONRSP) {
|
||||
PushMsg(VERSIONREQ); //获取版本信息
|
||||
}
|
||||
if (index == SCANERCTRLCFGPARAM) {
|
||||
::stream::ResponseAny resp;
|
||||
stream::ScannerCrtlCfgResp result;
|
||||
|
||||
WriteData wdata{ SCANERCTRLCFG };
|
||||
m_streamClient->Request(wdata, &resp);
|
||||
if (resp.data().Is<stream::ScannerCrtlCfgResp>()) {
|
||||
resp.data().UnpackTo(&result);
|
||||
PrintScanerCfg(result);
|
||||
}
|
||||
index = -1;
|
||||
}
|
||||
else if (index >= PARAMLIMITCFGPARAM && index <= ELECFGPARAM) {
|
||||
PushMsg(REQUEST);
|
||||
}
|
||||
@ -289,8 +309,62 @@ void DataHandle::ParamRequest(int index) {
|
||||
}
|
||||
|
||||
|
||||
void DataHandle::PrintScanerCfg(const stream::ScannerCrtlCfgResp& result) {
|
||||
result.scannercfg().size();
|
||||
for (auto& rsp : result.scannercfg()) {
|
||||
printf("seqNo:%d\n",rsp.seqno());
|
||||
printf("controlno:%d,serialno:%d,controlType:%d,cardname:%s,cardip:%s,isenable:%d,hadassign:%d,hadmatch:%d\n",
|
||||
rsp.controlno(), rsp.serialno(), rsp.controltype(), rsp.cardname().data(), rsp.cardip().data(), rsp.isenable(), rsp.hadassign(), rsp.hadmatch());
|
||||
|
||||
for (auto& fp : rsp.fixpointdata()) {
|
||||
printf("(pixpoint)id:%d,cno:%d,pointx:%f,pointy:%f,duration:%d\n"
|
||||
, fp.id(), fp.cno(), fp.pointx(), fp.pointy(), fp.duration());
|
||||
}
|
||||
|
||||
//打印部分内容
|
||||
auto& spc = rsp.scanparamcfg();
|
||||
printf("(scanparamcfg)edgelevel:%d,edgelevelmin:%d,edgelevelmax:%d,jumpDelay:%u\n",
|
||||
spc.edgelevel(), spc.edgelevelmin(), spc.edgelevelmax(), spc.jumpdelay());
|
||||
|
||||
auto& hp = rsp.hatchingparams();
|
||||
printf("(hatchingparams)edgelevel:%d,edgelevelmin:%d,edgelevelmax:%d,jumpDelay:%u\n",
|
||||
hp.edgelevel(), hp.edgelevelmin(), hp.edgelevelmax(), hp.jumpdelay());
|
||||
|
||||
auto& bp = rsp.borderparams();
|
||||
printf("(borderParams)edgelevel:%d,edgelevelmin:%d,edgelevelmax:%d,jumpDelay:%u\n",
|
||||
hp.edgelevel(), hp.edgelevelmin(), hp.edgelevelmax(), hp.jumpdelay());
|
||||
|
||||
auto& sp = rsp.supportparams();
|
||||
printf("(supportparams)edgelevel:%d,edgelevelmin:%d,edgelevelmax:%d,jumpDelay:%u\n",
|
||||
sp.edgelevel(), sp.edgelevelmin(), sp.edgelevelmax(), sp.jumpdelay());
|
||||
|
||||
auto& cpc = rsp.correctparamcfg();
|
||||
printf("(correctparamcfg)xmeasuremin:%.3f,xmeasuremax:%.3f,ymeasuremin:%.3f,ymeasuremax:%.3f\n",
|
||||
cpc.xmeasuremin(), cpc.xmeasuremax(), cpc.ymeasuremin(), cpc.ymeasuremax());
|
||||
|
||||
auto& stc = rsp.scantestcfg();
|
||||
printf("(scantestcfg)debugshape:%d,shapesize:%d,shapesizemin:%d,shape_size_max:%d\n",
|
||||
stc.debugshape(), stc.shapesize(), stc.shapesizemin(), stc.shape_size_max());
|
||||
|
||||
auto& swc = rsp.skywritingcfg();
|
||||
printf("(skywritingcfg)debugshape:%d,shapesize:%.3f,shapesizemin:%.3f,shape_size_max:%.3f\n",
|
||||
swc.isenable(), swc.timelag(), swc.timelagmin(), swc.timelagmax());
|
||||
|
||||
for (auto& pc : rsp.powercompensate()) {
|
||||
printf("(powercompensate)cno:%d,percent:%d,value:%.3f,value_min:%.3f,value_max:%.3f\n",
|
||||
pc.cno(), pc.percent(), pc.value(), pc.value_min(),pc.value_max());
|
||||
}
|
||||
|
||||
for (auto& tpc : rsp.tpowercompensate()) {
|
||||
printf("(tpowercompensate)cno:%d,id:%d,value:%u,value_min:%u,value_max:%.3f\n",
|
||||
tpc.cno(), tpc.id(), tpc.startminute(), tpc.endminute(), tpc.compensate());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//选择一个参数更新到服务
|
||||
void DataHandle::UpdateParam(const string& input) {
|
||||
void DataHandle::UpdateParamToService(const string& input) {
|
||||
WriteData writeData;
|
||||
int index = ConverType::TryToI(input.substr(5));
|
||||
switch (index) {
|
||||
@ -338,6 +412,8 @@ void DataHandle::UpdateParam(const string& input) {
|
||||
writeData.items.emplace_back(Item{"","",UNKNOW,"",0,0,0,1,100,2});
|
||||
PushMsg(writeData);
|
||||
break;
|
||||
case SCANERCTRLCFGPARAM:
|
||||
break;
|
||||
case ELECFGPARAM:
|
||||
break;
|
||||
case LOADPARAMRSP:
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
void PurifierTest(); //净化器功能测试
|
||||
void ConfigTest(); //配置功能测试
|
||||
|
||||
void UpdateParam(const string& input);
|
||||
void UpdateParamToService(const string& input);
|
||||
|
||||
void Usage();
|
||||
void ParamReadUsage();
|
||||
@ -44,7 +44,7 @@ public:
|
||||
private:
|
||||
void DataCallBackHandle(const ReadData& msg);
|
||||
void PrintValue(const ReadData& msg);
|
||||
|
||||
void PrintScanerCfg(const stream::ScannerCrtlCfgResp& result); //打印config的特殊配置
|
||||
private:
|
||||
DataCallBack m_dataCallBack;
|
||||
StreamClient* m_streamClient;
|
||||
|
@ -51,6 +51,8 @@ enum READTYPE {
|
||||
PAUSEALARMCFGPARAM, //AlarmCfgWrapper pause参数
|
||||
WARNALARMCFGPARAM, //AlarmCfgWrapper warn参数
|
||||
POWDERSETPARAM, //PowderSet 参数
|
||||
SCANNERCONTROLCFGPARAM, //ScannerControlCfg 参数
|
||||
SCANERCTRLCFGPARAM, //scanerctrlcfg 参数
|
||||
|
||||
MOLDCFGPARAM,
|
||||
LOADCFGPARAM,
|
||||
@ -103,6 +105,16 @@ struct Item {
|
||||
int start_layer;
|
||||
int end_layer;
|
||||
float powder;
|
||||
|
||||
int seqNo; //ScannerControlCfg使用
|
||||
int controlNo;
|
||||
int serialNo;
|
||||
int controlType;
|
||||
std::string cardName;
|
||||
std::string cardIP;
|
||||
//bool isEnable; //是否启动
|
||||
bool hadAssign;
|
||||
bool hadMatch;
|
||||
};
|
||||
|
||||
struct ReadData {
|
||||
@ -145,6 +157,7 @@ enum WRITETYPE {
|
||||
COMMUNICATIONCFG,
|
||||
ALARMCFG,
|
||||
POWDERSET,
|
||||
SCANERCTRLCFG,
|
||||
|
||||
LOADPARAM, //装载参数
|
||||
SCANCTRLFUNC, //振镜控制函数
|
||||
|
@ -71,11 +71,11 @@ void StreamClient::AllStream() {
|
||||
while (!m_readQuitFlag && stream->Read(&readInfo)) {
|
||||
ReadData readData;
|
||||
readData.dataType = (READTYPE)readInfo.datatype();
|
||||
|
||||
for (const ::stream::ParamInfo& it : readInfo.item()) {
|
||||
readData.its.emplace_back(Item{ it.namekey(),it.strvalue(),(DATATYPE)it.valuetype()
|
||||
,it.context(),it.isenable(),it.isalarm(),it.isshow()
|
||||
,it.startlayer(),it.endlayer(),it.powder() });
|
||||
,it.startlayer(),it.endlayer(),it.powder(),it.seqno(),it.controlno(),it.serialno()
|
||||
,it.controltype(),it.cardname(),it.cardip(),it.hadassign(),it.hadmatch()});
|
||||
//printf("接收到服务端消息:dataType:%d,nameKey:%s, strvalue:%s,valueType:%d\n",
|
||||
// readData.dataType, it.namekey().data(), it.strvalue().c_str(), it.valuetype());
|
||||
}
|
||||
@ -110,7 +110,6 @@ void StreamClient::AllStream() {
|
||||
}
|
||||
|
||||
stream->Write(request);
|
||||
//printf("write code:%d\n", ret);
|
||||
}
|
||||
else {
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -37,7 +37,7 @@ enum DATAHANDLE {
|
||||
|
||||
message ParamInfo{
|
||||
bytes nameKey = 1; //参数key
|
||||
bytes strValue = 2; //value
|
||||
bytes strValue = 2; //value
|
||||
TYPE valueType = 3; //数据类型
|
||||
|
||||
bytes context = 4; //alarmcfg 使用
|
||||
@ -48,6 +48,15 @@ message ParamInfo{
|
||||
int32 startLayer = 8; //层供粉量配置使用 struct PowderSet
|
||||
int32 endLayer = 9;
|
||||
float powder = 10;
|
||||
|
||||
int32 seqNo = 11; //ScannerControlCfg使用
|
||||
int32 controlNo = 12;
|
||||
int32 serialNo = 13;
|
||||
int32 controlType = 14;
|
||||
bytes cardName = 15;
|
||||
bytes cardIP = 16;
|
||||
bool hadAssign = 17;
|
||||
bool hadMatch = 18; //isEnable公用
|
||||
}
|
||||
|
||||
message RequestInfo { //读
|
||||
@ -135,6 +144,168 @@ message ComResponce{
|
||||
bytes data = 1;
|
||||
}
|
||||
|
||||
//ScannerCrtlCfg结构体
|
||||
message ScannerCrtlCfgResp{
|
||||
repeated ScannerCrtlCfgData scannerCfg = 1;
|
||||
}
|
||||
|
||||
message ScannerCrtlCfgData{
|
||||
int32 seqNo = 1;
|
||||
repeated FixPointData fixPointData = 2;
|
||||
ScanParamCfg scanParamCfg = 3;
|
||||
ScanParamCfg hatchingParams = 4;
|
||||
ScanParamCfg borderParams = 5;
|
||||
ScanParamCfg supportParams = 6;
|
||||
CorrectParamCfg correctParamCfg = 7;
|
||||
ScanTestCfg scanTestCfg = 8;
|
||||
SkyWritingCfg skyWritingCfg = 9;
|
||||
repeated PowerCompensate powerCompensate = 10;
|
||||
repeated TimePowerCompensate tPowerCompensate = 11;
|
||||
|
||||
int32 controlNo = 12;
|
||||
int32 serialNo = 13;
|
||||
int32 controlType = 14;
|
||||
bytes cardName = 15;
|
||||
bytes cardIP = 16;
|
||||
bool isEnable = 17; //是否启动
|
||||
bool hadAssign = 18;
|
||||
bool hadMatch = 19;
|
||||
}
|
||||
|
||||
message FixPointData{
|
||||
int32 id = 1;
|
||||
int32 cno = 2;
|
||||
float pointX = 3;
|
||||
float pointY = 4;
|
||||
uint32 duration = 5;
|
||||
}
|
||||
|
||||
|
||||
|
||||
message ScanParamCfg{
|
||||
int32 edgeLevel = 1;
|
||||
int32 edgeLevelMin = 2;
|
||||
int32 edgeLevelMax = 3;
|
||||
uint32 jumpDelay = 4;
|
||||
uint32 jumpDelayMin = 5;
|
||||
uint32 jumpDelayMax = 6;
|
||||
uint32 scanDelay = 7;
|
||||
uint32 scanDelayMin = 8;
|
||||
uint32 scanDelayMax = 9;
|
||||
uint32 polygonDelay = 10;
|
||||
uint32 polygonDelayMin = 11;
|
||||
uint32 polygonDelayMax = 12;
|
||||
int64 laseroffDelay = 13;
|
||||
int64 laseroffDelayMin = 14;
|
||||
int64 laseroffDelayMax = 15;
|
||||
int64 laseronDelay = 16;
|
||||
int64 laseronDelayMin = 17;
|
||||
int64 laseronDelayMax = 18;
|
||||
uint32 minJumpDelay = 19;
|
||||
uint32 minJumpDelayMin = 20;
|
||||
uint32 minJumpDelayMax = 21;
|
||||
uint32 jumpLengthLimit = 22;
|
||||
uint32 jumpLengthLimitMin = 23;
|
||||
uint32 jumpLengthLimitMax = 24;
|
||||
double jumpSpeed = 25;
|
||||
double jumpSpeedMin = 26;
|
||||
double jumpSpeedMax = 27;
|
||||
double markSpeed = 28;
|
||||
double markSpeedMin = 29;
|
||||
double markSpeedMax = 30;
|
||||
}
|
||||
|
||||
message CorrectParamCfg{
|
||||
double xmeasureMin = 1; //x可打印最小位置
|
||||
double xmeasureMax = 2; //x可打印最大位置
|
||||
double ymeasureMin = 3; //y可打印最小位置
|
||||
double ymeasureMax = 4; //y可打印最大位置
|
||||
double xposfix = 5; //x位置修正
|
||||
double yposfix = 6; //y位置修正
|
||||
double scanAngle = 7; //旋转角度 逆时针
|
||||
double scanAngleMin = 8;
|
||||
double scanAngleMax = 9;
|
||||
double fixAngle = 10; //旋转角度 逆时针
|
||||
double fixAngleMin = 11;
|
||||
double fixAngleMax = 12;
|
||||
double xcorrect = 13; //x尺寸修正
|
||||
double ycorrect = 14; //y尺寸修正
|
||||
double xcorrectMin = 15;
|
||||
double xcorrectMax = 16;
|
||||
double ycorrectMin = 17;
|
||||
double ycorrectMax = 18;
|
||||
double realXOffset = 19;
|
||||
double realYOffset = 20;
|
||||
double factorK = 21;
|
||||
bool isCorrectFile3D = 22;
|
||||
bool isDynamicFocus = 23; //是否动态聚焦
|
||||
double defocusRatio = 24; //离焦比
|
||||
double defocusRatioMin = 25;
|
||||
double defocusRatioMax = 26;
|
||||
}
|
||||
|
||||
message ScanTestCfg{
|
||||
int32 debugShape = 1;
|
||||
int32 shapeSize = 2;
|
||||
int32 shapeSizeMin = 3;
|
||||
int32 shape_size_max = 4;
|
||||
int32 laser_power = 5;
|
||||
int32 laser_power_min = 6;
|
||||
int32 laser_power_max = 7;
|
||||
double defocus = 8;
|
||||
double defocus_min = 9;
|
||||
double defocus_max = 10;
|
||||
bool is_cycle = 11;
|
||||
double cross_x = 12;
|
||||
double cross_y = 13;
|
||||
double z_distance = 14;
|
||||
bool isAutoHeatingScanner = 15; //开启暂停开始时预热振镜
|
||||
uint32 autoHeatingScannerMinutes = 16;
|
||||
uint32 autoHeatingScannerSize = 17;
|
||||
double autoHeatingScannerSpeed = 18;
|
||||
double mark_test_start_x = 19;
|
||||
double mark_test_start_y = 20;
|
||||
double mark_test_end_x = 21;
|
||||
double mark_test_end_y = 22;
|
||||
}
|
||||
|
||||
message SkyWritingCfg{
|
||||
bool isEnable = 1;
|
||||
double timelag = 2;
|
||||
double timelagMin = 3;
|
||||
double timelagMax = 4;
|
||||
int64 laserOnShift = 5;
|
||||
int64 laserOnShiftMin = 6;
|
||||
int64 laserOnShiftMax = 7;
|
||||
uint32 nprev = 8;
|
||||
uint32 nprevMin =9;
|
||||
uint32 nprevMax = 10;
|
||||
uint32 npost = 11;
|
||||
uint32 npostMin = 12;
|
||||
uint32 npostMax = 13;
|
||||
int32 mode = 14;
|
||||
double limite = 15;
|
||||
double limiteMin = 16;
|
||||
double limiteMax = 17;
|
||||
}
|
||||
|
||||
|
||||
message PowerCompensate{
|
||||
int32 cno = 1;
|
||||
int32 percent = 2;
|
||||
float value = 3;
|
||||
float value_min = 4;
|
||||
float value_max = 5;
|
||||
}
|
||||
|
||||
message TimePowerCompensate{
|
||||
int32 id = 1;
|
||||
int32 cno = 2;
|
||||
uint32 startMinute = 3;
|
||||
uint32 endMinute = 4;
|
||||
float compensate = 5;
|
||||
}
|
||||
|
||||
service Stream {
|
||||
rpc Simple(RequestInfo) returns (ResponseAny) {} // 简单模式
|
||||
rpc ServerStream (RequestInfo) returns (stream ResponseInfo) {} // 服务端数据流模式
|
||||
|
Loading…
x
Reference in New Issue
Block a user