MsSQL Library for SoMachine V4.1

The MsSQL library helps to read and store your data directly to Microsoft SQL Server without middleware (such as OPC).

MsSQL Library for SoMachine V4.1

Demo

Free

  • Full functionality
  • Basic support
  • 2 hour runtime limitation2 hour runtime limitation after PLC start

Full version

199€/PLC

  • Full functionality
  • Basic support
  • Unlimited running

Demo

Subscribe to our mailing list

Please select all the ways you would like to hear from PLC2SQL s.r.o.:

You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our website.

We use Mailchimp as our marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.

Request license

  1. *
  2. *
  3. *
  4. *
  5. *
 

Description

This library allows you to connect your PLC Siemens S7-1200 or S7-1500 application to Microsoft SQL
database. With this library you are able to store and read process data. Read recipes from ERP, save
breakdown report and etc. No more OPC servers and other middleware.

Basic requirement for this library is TIA Portal V13 or higher and Microsoft SQL Server (2005 or
higher). Microsoft SQL Server 2014 Express is there.

Range of functions:
This library allows to the user connect to Microsoft SQL Server from 2005 to 2017. This library use for
communication with server TDS protocol.

Supported commands:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE

FAQ for MsSQL Library for SoMachine V4.1

What happens in your program if tTimeout is exceeded?

There is more possible ways:
If you are trying:

  • Log to database tTimeout means that it failed and you get error and you have to try it again with different parameters according error message.
  • Executing QuerytTimeout means that command failed in some step and you have to try repair query due to error

Basically timeout check if the state machine is longer time in some step. So 1s is enough if you have local database. For instance if I’m connecting from Czech Republic to Amazon SQL Server in Oregon, sometimes it can exceed 1s.

Timeout destination server is unreachable.

Remote server is unreachable, possible problems can be:

  • Server is turned off
  • Server is in different subnet than PLC and gateway is wrong
  • Firewall is setup wrongly. See chapter 2.1.6 in User Guide
  • Server is not configured for TCP/IP communication. See chapter 2.1.7 in User Guide
  • sIpAddress contains Hostname such as ‘localhost’ or ‘TestSQLServer’
How to program simple code which store data after trigger?

Best approach is to create state machine such as CASE structure with states:

  1. Idle
  2. Login(set xConnect to true) after trigger
  3. Execute batch of  commands(set xExecuteSQL to true)
  4. Disconnect(set xDisconnect to true)
How to handle more SQL query in same time?

Create FIFO buffer with appropriate datatype(e.g. strings), which will work with State machine and execute commands one by one.

How to insert datatype DateTime to MsSQL Database?

Example of command to how to insert datetime to MsSQL database:
EXEC sp_insertData @TIMESTAMP = N$’2016-11-12 19:45:33$’, @Value= 12

Explanation:
EXEC sp_insertData – execution stored procedure sp_insertData which is declared on MsSQL Server. Note! If you will create stored procedure on MsSQL Server side, don’t forget to setup execute permission to user which is used on PLC.
@TIMESTAMP= N$’2016-11-12 19:45:33$’ – inserting datatime to database as a string value, but in PLC string has to be used dollar sigh($) before ‘.
@Value = 12 – is just normal integer value

How to insert datatype text (e.g. nvarchar(255) to MsSQL Database?

Note! Dollar sign($) is needed if you are using ‘ in string and if you want to store string into database   N$’Your_string$’.

INSERT INTO [dbo].[Table_TEST] ([text]) VALUES (N$’Hello World 🙂$’)

What to do if PLC is broke down, and you need to replace HW?

We will provide you free of charge new activation number for new PLC.

Can I purchase license only once and use it for more PLCs?

No, this is Single License library. So for every PLC where you will use this library, you need to have new license. License is bind to SN of PLC.