ООО "Онитекс"

Пример управления двигателем с помощью библиотеки OsmStepMotorController.dll.

Example

CopyC#
                
                // Пример работы с OsmStepMotorController.dll на C#    
using System.Windows.Forms;
// Подключение пространства имен библиотеки:
using OsmStepMotorController;
// Подключение пространства имен исключений:
using OsmStepMotorController.Exceptions;

namespace OsmStepMotorControllerTests
{
   public class OsmStepMotorControllerExample
    {
        // Пример управления работой шагового двигателя:
        public void StartMotor()
        {
            ModbusCommands modbusCommands = new ModbusCommands("COM1");

            // Адрес устройства:
            const byte slaveAddress = 1;

            try
            {
                 modbusCommands.Connect();
            }
            catch (ConnectionException exception)
            {
                // Сообщение о неудачном подключении:
                MessageBox.Show(exception.Message);
            }

            try
            {
                // Установка тока:
                modbusCommands.SetCurrent(slaveAddress, 1000);

                // Установка стартовой скорости:
                modbusCommands.SetStartSpeed(slaveAddress, 50);

                // Установка конечной скорости:
                modbusCommands.SetEndSpeed(slaveAddress, 50);

                // Установка требуемой скорости:
                modbusCommands.SetSpeed(slaveAddress, 1000);

                // Установка ускорения:
                modbusCommands.SetAcceleration(slaveAddress, 100);

                // Установка числа шагов, определяющего длительность замедления: 
                modbusCommands.SetDecelerationSteps(slaveAddress, 20);

                // Установка числа шагов:
                modbusCommands.SetNumberOfSteps(slaveAddress, 400);

                // Выполнить вращение двигателя на 400 шагов:
                modbusCommands.MoveNumberOfSteps(slaveAddress);
            }
            catch(ControllerCommandException exception)
            {
                // Сообщение о неудачном выполнении команды:
                MessageBox.Show(exception.Message); 
            }
        }
    }
}
CopyC++
                
                // Пример работы с OsmStepMotorController.dll на C++ 
using namespace System;
using namespace System::Windows::Forms;
// Подключение пространства имен библиотеки:
using namespace OsmStepMotorController;
// Подключение пространства имен исключений:
using namespace OsmStepMotorController::Exceptions;

namespace OsmStepMotorControllerTests
{
   public ref class OsmStepMotorControllerExample
    {
        // Пример управления работой шагового двигателя:
    public:
        void StartMotor()
        {
            ModbusCommands ^modbusCommands = gcnew ModbusCommands("COM1");

            // Адрес устройства:
            const Byte slaveAddress = 1;

            try
            {
                 modbusCommands->Connect();
            }
            catch (ConnectionException ^exception)
            {
                // Сообщение о неудачном подключении:
                MessageBox::Show(exception->Message);
            }

            try
            {
                // Установка тока:
                modbusCommands->SetCurrent(slaveAddress, 1000);

                // Установка стартовой скорости:
                modbusCommands->SetStartSpeed(slaveAddress, 50);

                // Установка конечной скорости:
                modbusCommands->SetEndSpeed(slaveAddress, 50);

                // Установка требуемой скорости:
                modbusCommands->SetSpeed(slaveAddress, 1000);

                // Установка ускорения:
                modbusCommands->SetAcceleration(slaveAddress, 100);

                // Установка числа шагов, определяющего длительность замедления: 
                modbusCommands->SetDecelerationSteps(slaveAddress, 20);

                // Установка числа шагов:
                modbusCommands->SetNumberOfSteps(slaveAddress, 400);

                // Выполнить вращение двигателя на 400 шагов:
                modbusCommands->MoveNumberOfSteps(slaveAddress);
            }
            catch(ControllerCommandException ^exception)
            {
                // Сообщение о неудачном выполнении команды:
                MessageBox::Show(exception->Message);
            }
        }
    };