配置信息传输

This commit is contained in:
wangxx1809 2024-06-27 10:56:50 +08:00
parent 02922e116f
commit f2f5f4adb4
40 changed files with 27187 additions and 389 deletions

View File

@ -493,13 +493,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);
m_ArmCfg->SendToClients(ARMCFGPARAM);
@ -532,10 +525,6 @@ 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;
}
@ -543,31 +532,53 @@ void ConfigManager::CallFuncs(const ReadData& rd, const list<Item>& lst, ::strea
}
//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::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::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];

View File

@ -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&) {};

View File

@ -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";

View File

@ -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;

View File

@ -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";

View File

@ -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;

View File

@ -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";

View File

@ -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;

View File

@ -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";

View File

@ -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;

View File

@ -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";

View File

@ -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;

View File

@ -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";

View File

@ -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; //不传了

View File

@ -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";

View File

@ -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;

View File

@ -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";

View File

@ -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;

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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 {

View File

@ -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;
}

View File

@ -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

View File

@ -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) {} //
}

View File

@ -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(" 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);
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);
}
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:

View File

@ -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;

View File

@ -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, //振镜控制函数

View File

@ -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

View File

@ -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) {} //