资源简介
Qt基于snap7第三方库西门子PLC通信示例,附件中包括snap7.dll、snap7.lib、Qt示例源码和配置文档
代码片段和文件信息
#include “motioncontroll.h“
#include “ui_motioncontroll.h“
#include
#include
#include “snap7.h“
MotionControll::MotionControll(QWidget *parent) :
QWidget(parent)
ui(new Ui::MotionControll)
{
ui->setupUi(this);
ptrPLC = new TS7Client();
ui->lineEdit_Distance->setDisabled(true);
ui->btn_Stop->setstyleSheet(“background:rgb(20010070)“);
m_bStatus = false;
connect(&m_timer SIGNAL(timeout()) this SLOT(readHorisonVal()));
}
MotionControll::~MotionControll()
{
delete ui;
m_timer.stop();
}
void MotionControll::on_btn_Connect_clicked()
{
if(!ptrPLC->Connected())
{
int res = ptrPLC->ConnectTo(“192.168.1.20“ 0 1);
if(!res)
{
ui->btn_Connect->setDisabled(true);
m_timer.start(500);
}
}
}
void MotionControll::on_btn_RotateStart_clicked()
{
if(ptrPLC->Connected())
{
byte buff = 1;
ptrPLC->WriteArea(0x83 1 16 1 1 &buff);
ui->btn_RotateStart->setDisabled(true);
ui->btn_RotateStop->setDisabled(false);
}
}
void MotionControll::on_btn_RotateStop_clicked()
{
if(ptrPLC->Connected())
{
byte buff = 0;
ptrPLC->WriteArea(0x83 1 16 1 1 &buff);
ui->btn_RotateStart->setDisabled(true);
ui->btn_RotateStop->setDisabled(false);
}
}
void MotionControll::on_CheckBox_DistanceSet_stateChanged(int arg1)
{
if(ui->CheckBox_DistanceSet->isChecked())
{
ui->lineEdit_Distance->setDisabled(false);
}
else
{
ui->lineEdit_Distance->setDisabled(true);
}
}
void MotionControll::on_btn_GoEnd_clicked()
{
//M201.5
if(ptrPLC->Connected())
{
byte buff = 1;
ptrPLC->WriteArea(0x83 1 1613 1 1 &buff);
buff = 0;
ptrPLC->WriteArea(0x83 1 1613 1 1 &buff);
}
}
void MotionControll::on_btn_Stop_clicked()
{
//M201.4
if(ptrPLC->Connected())
{
if(!m_bStatus)
{
byte buff = 1;
ptrPLC->WriteArea(0x83 1 1612 1 1 &buff);
ui->btn_Stop->setstyleSheet(“background:rgb(02000)“);
ui->btn_Stop->setText(“Continue“);
m_bStatus = true;
}
else
{
byte buff = 0;
ptrPLC->WriteArea(0x83 1 1612 1 1 &buff);
ui->btn_Stop->setstyleSheet(“background:rgb(20010070)“);
ui->btn_Stop->setText(“Pause“);
m_bStatus = false;
}
}
}
void MotionControll::on_btn_GoBeginMannul_pressed()
{
//M200.2
if(ptrPLC->Connected())
{
byte buff = 1;
ptrPLC->WriteArea(0x83 1 1603 1 1 &buff);
}
}
void MotionControll::on_btn_GoBeginMannul_released()
{
//M200.2
if(ptrPLC->Connected())
{
byte buff = 0;
ptrPLC->WriteArea(0x83 1 1603 1 1 &b
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-09-19 13:55 PLC通信\
文件 5230 2019-09-18 09:27 PLC通信\motioncontroll.cpp
文件 1046 2019-09-18 09:27 PLC通信\motioncontroll.h
文件 3065 2019-09-18 09:27 PLC通信\motioncontroll.ui
目录 0 2019-09-19 13:55 PLC通信\snap7\
文件 244224 2019-09-12 13:45 PLC通信\snap7\snap7.dll
文件 26188 2019-09-12 13:45 PLC通信\snap7\snap7.lib
文件 30338 2019-09-18 09:27 PLC通信\snap7.cpp
文件 41954 2019-09-18 09:27 PLC通信\snap7.h
文件 315 2019-10-05 20:18 PLC通信\库添加.txt
- 上一篇:unity ufps
- 下一篇:linux下telnet源代码
相关资源
- Qt类向导ClassWizardExample
- autopressmouse.rar
- IFIX5.8与S7400(300)使用NettoPLCsim建立虚
- Qt 右下角弹出框
- Qt4图片缩放应用程序
- Qt 坐标轴控件
- 台达PLC通信程序VC
- Qt的卡拉OK效果
- Qt双滑块QxtSpanSlider测试代码
- QT 开启线程接收串口数据并由主线程
- QT皮肤界面
- 画图软件qt实现
- AB500写的一段水厂滤池自动程序
- QT调用有道翻译API_在线英汉词典
- 三菱经典程序
- AB PLC解密.rar
- MainWindowAndQml.rar
- 恒压供水 自制程序
- qtcharts实现在UI界面绘制图形
- 基于GXworks2的电镀流水线PLC控制程序
- Qt+Opencv实现四步相移
- 使用Qt实现TCP中客户端和服务器的交互
- Qt纯代码记事本.zip
- QT实战,利用定时器QTimer实现图片的移
- draw_qwidget.zip
- QT实现多人屏幕共享系统.rar
- DrawBorad.tar.xz
- 笔趣阁小说器
- QT串口通信实例62216
- qt_opengl_obj.zip
评论
共有 条评论