You are on page 1of 27

Machine Translated by Google

Machine Translated by Google

Thông tin hợp pháp

Thông tin hợp pháp


Sử dụng các ví dụ ứng dụng
Các ví dụ ứng dụng minh họa giải pháp của các tác vụ tự động hóa thông qua sự tương tác của một số thành phần dưới
dạng văn bản, đồ họa và / hoặc mô-đun phần mềm. Các ví dụ ứng dụng là một dịch vụ miễn phí của Siemens AG và / hoặc
một công ty con của Siemens AG (“Siemens”). Chúng không ràng buộc và không tuyên bố về tính hoàn chỉnh hoặc chức
năng liên quan đến cấu hình và thiết bị. Các ví dụ ứng dụng chỉ cung cấp trợ giúp với các tác vụ điển hình; chúng
không tạo thành các giải pháp dành riêng cho khách hàng. Bản thân bạn chịu trách nhiệm vận hành sản phẩm đúng cách
và an toàn theo các quy định hiện hành và cũng phải kiểm tra chức năng của ví dụ ứng dụng tương ứng và tùy chỉnh nó
cho hệ thống của bạn.

Siemens cấp cho bạn quyền không độc quyền, không cấp phép lại và không thể chuyển nhượng để có
các ví dụ ứng dụng được sử dụng bởi nhân viên được đào tạo kỹ thuật. Bất kỳ thay đổi nào đối với các ví dụ
ứng dụng là trách nhiệm của bạn. Chỉ được phép chia sẻ các ví dụ ứng dụng với các bên thứ ba hoặc sao chép các ví
dụ ứng dụng hoặc đoạn trích của chúng khi kết hợp với các sản phẩm của riêng bạn.
Các ví dụ ứng dụng không bắt buộc phải trải qua các thử nghiệm thông thường và kiểm tra chất lượng của một sản phẩm
tính phí; chúng có thể có các lỗi về chức năng và hiệu suất cũng như các lỗi. Bạn có trách nhiệm sử dụng chúng theo
cách sao cho mọi trục trặc có thể xảy ra không gây thiệt hại về tài sản hoặc thương tích cho con người.

Miễn trừ trách nhiệm


Siemens sẽ không chịu bất kỳ trách nhiệm pháp lý nào, vì bất kỳ lý do pháp lý nào, bao gồm nhưng không giới
hạn, trách nhiệm pháp lý đối với khả năng sử dụng, tính sẵn có, tính hoàn chỉnh và không bị lỗi của các ví dụ
ứng dụng cũng như đối với thông tin liên quan, dữ liệu cấu hình và hiệu suất và bất kỳ thiệt hại nào gây ra do
đó . Điều này sẽ không áp dụng trong các trường hợp trách nhiệm pháp lý bắt buộc, ví dụ như theo Đạo luật trách
nhiệm sản phẩm của Đức, hoặc trong các trường hợp cố ý, sơ suất nghiêm trọng hoặc thiệt hại nghiêm trọng về tính
mạng, thương tật hoặc tổn hại sức khỏe, không tuân thủ bảo đảm, gian lận không - tiết lộ khiếm khuyết hoặc vi phạm
nghiêm trọng các nghĩa vụ hợp đồng quan trọng. Tuy nhiên, các yêu cầu bồi thường thiệt hại phát sinh do vi phạm nghĩa
vụ hợp đồng quan trọng sẽ được giới hạn ở mức thiệt hại có thể thấy trước điển hình của loại thỏa thuận, trừ khi
trách nhiệm pháp lý phát sinh do cố ý hoặc sơ suất hoặc dựa trên thiệt hại về tính mạng, thương tật hoặc tổn hại sức
khỏe. Các điều khoản ở trên không ngụ ý bất kỳ sự thay đổi nào về trách nhiệm chứng minh đối với phương hại của bạn.
Bạn sẽ bồi thường cho Siemens chống lại các khiếu nại hiện có hoặc trong tương lai của các bên thứ ba trong mối liên
hệ này, ngoại trừ trường hợp Siemens phải chịu trách nhiệm pháp lý.

Bằng cách sử dụng các ví dụ ứng dụng, bạn thừa nhận rằng Siemens không thể chịu trách nhiệm đối với bất kỳ thiệt
hại nào ngoài các điều khoản trách nhiệm được mô tả.

Thông tin khác


Siemens có quyền thực hiện các thay đổi đối với các ví dụ ứng dụng bất kỳ lúc nào mà không cần thông báo.
Trong trường hợp có sự khác biệt giữa các gợi ý trong ví dụ ứng dụng và các ấn phẩm khác của Siemens như danh mục,
nội dung của tài liệu khác sẽ được ưu tiên.

Điều khoản sử dụng của Siemens (https://support.industry.siemens.com) cũng sẽ được áp dụng.

Thông tin an ninh


Siemens cung cấp các sản phẩm và giải pháp có chức năng an ninh công nghiệp hỗ trợ hoạt động an toàn của các nhà
máy, hệ thống, máy móc và mạng.
Để bảo vệ nhà máy, hệ thống, máy móc và mạng chống lại các mối đe dọa mạng, cần phải thực hiện - và liên tục duy
trì - một khái niệm an ninh công nghiệp toàn diện, hiện đại.
Các sản phẩm và giải pháp của Siemens tạo thành một yếu tố của khái niệm như vậy.
Khách hàng có trách nhiệm ngăn chặn việc truy cập trái phép vào nhà máy, hệ thống, máy móc và mạng của họ. Các hệ
thống, máy móc và thành phần như vậy chỉ nên được kết nối với mạng doanh nghiệp hoặc internet nếu và trong phạm vi
kết nối đó là cần thiết và chỉ khi các biện pháp bảo mật thích hợp (ví dụ: tường lửa và / hoặc phân đoạn mạng) được
áp dụng.
Để biết thêm thông tin về các biện pháp an ninh công nghiệp có thể được thực hiện, vui lòng truy cập https://
www.siemens.com/industrialsecurity.
Các sản phẩm và giải pháp của Siemens trải qua quá trình phát triển liên tục để đảm bảo an toàn hơn.
Siemens đặc biệt khuyến nghị rằng các bản cập nhật sản phẩm được áp dụng ngay khi chúng có sẵn và nên sử dụng
các phiên bản sản phẩm mới nhất. Việc sử dụng các phiên bản sản phẩm không còn được hỗ trợ và không áp dụng các
bản cập nhật mới nhất có thể làm tăng khả năng tiếp xúc của khách hàng với các mối đe dọa mạng.

Để được cập nhật thông tin về các bản cập nhật sản phẩm, hãy đăng ký Nguồn cấp dữ liệu RSS An ninh Công nghiệp của
Siemens tại: http://www.siemens.com/industrialsecurity.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 2
Machine Translated by Google

Mục lục

Mục lục
Thông tin hợp pháp................................................ ................................................... ....... 2

1 Giới thiệu................................................. ................................................... ..... 4

1,1 Tổng quat................................................. .............................................. 4

1,2 Nguyên lý hoạt động ... ............................. 5


1,3 Các thành phần được sử dụng ... ................................ 6

2 Kỹ thuật ................................................. ................................................... ..... 7

2.1 Mô tả giao diện ... ............................. 7


2.2 Tích hợp vào dự án người dùng ............................................. ............... 9
2.3 Hoạt động của LSql_Microsoft .............................................. ................ 12
2.4 Xử lý lỗi ... ..................................... 19

3 Thông tin hữu ích................................................ ........................................... 21

3.1 Khái niệm cơ bản về Microsoft SQL Server Express ............................................. ... 21
3.2 Cài đặt trong Microsoft SQL Server Express ......................................... 22

4 Phụ lục ... ................................................... ........ 26

4.1 Dịch vụ và hỗ trợ ... ............................ 26


4.2 Liên kết và văn học ... .............................. 27
4.3 Thay đổi tài liệu ... ...................... 27

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 3
Machine Translated by Google

1. Giới thiệu

1 Giới thiệu
1.1 Tổng quat

Tình hình ban đầu

Giao thức Luồng dữ liệu dạng bảng (TDS) cung cấp cho bạn khả năng thiết lập kết nối
trực tiếp với máy chủ Microsoft SQL. Sử dụng TDS, bạn có thể đăng nhập vào cơ sở dữ
liệu máy chủ SQL và truyền các lệnh SQL. Bằng cách này, có thể đọc dữ liệu từ cơ sở
dữ liệu hoặc gửi chúng đến cơ sở dữ liệu để lưu trữ.

Ví dụ ứng dụng này trình bày cách SIMATIC S7-1500 thiết lập kết nối với máy chủ
Microsoft SQL qua TDS và gửi dữ liệu đến cơ sở dữ liệu bằng cách sử dụng "Khối Giao
tiếp Người dùng Mở" (TCON, TSEND, TRCV và TDISCON).

Tổng quan về ví dụ ứng dụng

Hình dưới đây cung cấp tổng quan về ví dụ ứng dụng:


Hình 1-1

SIMATIC S7-1500

SQL
SQL Cơ sở dữ liệu

PROFINET / IE

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 4
Machine Translated by Google

1. Giới thiệu

1,2 Nguyên lý hoạt động

Hình sau mô tả nguyên lý hoạt động, cấu trúc và các trạng thái của khối chức
năng "LSql_Microsoft".

Hình 1-2

Định cấu
hình kết nối

Kết nối

lỗi
Thiết lập
Lỗi
kết nối

Kết nối hoàn toàn


Đã kết nối
được thiết lập

Hành hình

Xây dựng hướng dẫn

SQL

Truyền lệnh SQL


Thực thi

Ngắt kết nối

Chấm dứt kết nối Đã ngắt kết nối

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 5
Machine Translated by Google

1. Giới thiệu

1,3 Các thành phần được sử dụng

Các thành phần phần cứng và phần mềm sau được sử dụng để tạo ví dụ ứng dụng
này:

Bảng 1-1

Các thành phần Định lượng Số mặt hàng Ghi chú

BƯỚC 7 Chuyên nghiệp V16 1 6ES7822-1AA06-0YA7 Hệ thống kỹ thuật


Cập nhật 2

SIMATIC S7-1500 1 6ES7511-1AK01-0AB0 Ngoài ra, bạn có thể sử dụng bất


CPU 1511-1 PN kỳ CPU SIMATIC S7-1500
hoặc ET 200SP nào của
phần sụn V2.5 trở lên.

Ví dụ ứng dụng này bao gồm các thành phần sau:


Bảng 1-2

Các thành phần Tên tệp Ghi chú

Dự định 109779336_SQL_S7_1500_CODE_V20.zip Tệp nén này chứa


dự án BƯỚC 7 của ví dụ

ứng dụng cho S7-1500.

Tài liệu 109779336_SQL_S7_1500_DOC_en_V20.pdf Tài liệu này

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 6
Machine Translated by Google

2 Kỹ thuật

2 Kỹ thuật
2.1 Mô tả giao diện

Mô tả chức năng

Khối chức năng "LSql_Microsoft" mô phỏng giao thức TDS trên cơ sở "Khối Giao tiếp
Người dùng Mở". Nó tạo điều kiện cho các hành động sau:

• Đăng nhập vào cơ sở dữ liệu máy chủ Microsoft SQL (kích hoạt, connSettings)

• Truyền các lệnh SQL (sqlCommand, executeSqlCommand)

• Nhận dữ liệu đã đọc (dữ liệu, dữ liệu đã nhận)

Trong nội bộ, khối này hoạt động với các khối trợ giúp. Chúng không được giải thích ở đây chi
tiết hơn.

Giao diện khối

Hình dưới đây cho thấy các giao diện của khối chức năng "LSql_Microsoft" và các kiểu
dữ liệu liên quan.

Hình 2-1: LSql_Microsoft

LSql_Microsoft

Bool cho phép có giá trị Bool

kết nốiSe
"LSql_typeConnectionSettings" bận Bool

ttings executeCom
Bool lỗi Bool
Đàn ông

Sợi dây yêu cầu tình trạng Từ

chẩn đoán "LSql_typeDiagnostics"

dữ liệu được nhận Bool

dữ liệu
"typeUseCaseSpecificData" "typeUseCaseSpecificData"

Bảng 2-1: Các thông số của LSql_Microsoft

Tên Loại P Loại dữ liệu Nhận xét

cho phép TRONG Bool ĐÚNG: Bật chức năng của FB

kết nối "LSql_typeConnectionSettings" được sử dụng để đăng nhập vào cơ sở dữ liệu

executeCommand IN Bool ĐÚNG: thực hiện lệnh sql một lần

yêu cầu TRONG


Sợi dây Lệnh SQL thực thi khi
executeSqlBatch = TRUE

có giá trị NGOÀI Bool ĐÚNG: Bộ giá trị đầu ra hợp lệ có


sẵn tại FB

bận NGOÀI Bool ĐÚNG: FB chưa kết thúc và các giá


trị đầu ra mới có thể được mong đợi

lỗi NGOÀI Bool ĐÚNG: Đã xảy ra lỗi trong quá trình


thực thi FB

tình trạng NGOÀI Từ 16 # 0000 - 16 # 7FFF: Trạng thái của


FB, 16 # 8000 - 16 # FFFF: Nhận
dạng lỗi

chẩn đoán NGOÀI "LSql_typeDiagnostics" Thông tin chẩn đoán của FB


(tùy chọn)

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 7
Machine Translated by Google

2 Kỹ thuật

Tên Loại P Loại dữ liệu Nhận xét

dữ liệu được nhận NGOÀI Bool ĐÚNG: dữ liệu mới đã được nhận

dữ liệu IN_OUT "typeUseCaseSpecificData" phản hồi nhận được từ máy chủ SQL

Tabelle 2-2: Tham số của LSql_typeLoginInformation

Tên Gõ phím Giá trị Nhận xét

hostName Chuỗi DEF_VAL tùy chọn: tên của máy chủ lưu trữ cục bộ

tên tài khoản Chuỗi DEF_VAL bắt buộc: tên người dùng để đăng nhập vào cơ sở dữ liệu

mật khẩu mở khóa Chuỗi DEF_VAL bắt buộc: mật khẩu để đăng nhập vào cơ sở dữ liệu

tên ứng dụng Chuỗi DEF_VAL tùy chọn: tên của ứng dụng kết nối với cơ sở dữ liệu

tên máy chủ Chuỗi DEF_VAL bắt buộc: tên máy chủ của cơ sở dữ liệu

libraryName Chuỗi DEF_VAL tùy chọn: tên của ui

địa phương
Chuỗi DEF_VAL tùy chọn: ngôn ngữ được sử dụng trong ui

tên cơ sở dữ liệu Chuỗi DEF_VAL bắt buộc: cơ sở dữ liệu để đọc hoặc ghi từ

sspi Chuỗi DEF_VAL tùy chọn / không được hỗ trợ: mã hóa qua sspi

mountDbfile Chuỗi DEF_VAL tùy chọn: tên tệp để thêm khi chuyển

changePassword Chuỗi DEF_VAL tùy chọn: mật khẩu mới nếu mật khẩu cũ nên được thay đổi

Bảng 2-3: Các thông số của typeUseCaseSpecificData

Tên Gõ phím Giá trị Nhận xét

tiêu đề "LSql_typeTDSPacketHeader" Tiêu đề giao thức DEF_VAL TDS

tokenColumnMetaData Array [0..37] của Byte Thông tin DEF_VAL về các cột được trả
về trong tokenRows - phụ
thuộc vào dữ liệu người dùng

tokenRows Mảng [0..14] DEF_VAL Hàng được trả về cho SQL Batch
của "typeUseCaseSpecificTokenRow" - cấu trúc phụ thuộc
vào dữ liệu người dùng!

byte Mảng [0..867] của Byte DEF_VAL [Không có bình luận]

Tabelle 2-4: Tham số của LSql_typeDiagnostics

Tên Giá trị loại Nhận xét

tình trạng Word DEF_VAL Trạng thái của Khối hoặc xác định lỗi khi xảy ra lỗi

chức năng con Trạng thái Word DEF_VAL Trạng thái hoặc giá trị trả về của khối FB, FC và khối hệ thống được gọi

stateNumber DInt DEF_VAL Trạng thái trong máy trạng thái của khối có lỗi
xảy ra

Tabelle 2-5: Tham số của LSql_typeConnectionSettings

Tên Gõ phím Giá trị Nhận xét

interfaceSettings TCON_IP_v4 DEF_VAL [Miễn bình luận]

đăng nhập thông tin "LSql_typeLoginInformation" DEF_VAL [Miễn bình luận]

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 số 8
Machine Translated by Google

2 Kỹ thuật

2,2 Tích hợp vào dự án người dùng

Yêu cầu

Các yêu cầu sau áp dụng cho việc sử dụng ví dụ ứng dụng:

• Phần mềm S7-1500 V2.5 trở lên

• Máy chủ Microsoft SQL được cấu hình đầy đủ

• S7-1500 và máy chủ Microsoft SQL nằm trong cùng một mạng con.

GHI CHÚ
Khối này cũng hoạt động với S7-1200 từ phần sụn V4.4 trở lên.

Những hạn chế

Các hạn chế sau áp dụng cho ví dụ ứng dụng này: • Ví dụ ứng dụng chỉ

hoạt động với phần cứng và phần mềm được kiểm tra
các phiên bản.

• Sử dụng Giao tiếp Người dùng Mở với S7-1500, có thể gửi hoặc nhận tối đa 65536 byte cho mỗi
lệnh.

• Sử dụng Giao tiếp Người dùng Mở với S7-1200, tối đa là 8192 byte
mỗi lệnh có thể được gửi hoặc nhận.

• Khối "LSql_Microsoft" có thể được gọi không quá một lần cho mỗi Microsoft
Máy chủ SQL.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 9
Machine Translated by Google

2 Kỹ thuật

Tích hợp các thành phần dự án vào dự án người dùng

Sao chép các thành phần dự án sau vào dự án TIA Portal của bạn: •

Thư mục khối "LSql"

• Khối dữ liệu "SqlConfig"

• Khối dữ liệu "SqlCommand"

• Khối dữ liệu "SqlReceive"

• Thư mục kiểu dữ liệu PLC

Ở đây, bạn nên làm việc ở chế độ xem "Dự án tham chiếu".

Hình 2-2

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 10
Machine Translated by Google

2 Kỹ thuật

Kết nối các tham số của khối "LSql_Microsoft"

Gọi khối "LSql_Microsoft" trong một khối tuần hoàn, ví dụ "Main [OB1]" và kết nối các
đầu vào và đầu ra như trong hình sau.

Hình 2-3

GHI CHÚ
Việc đấu dây các thông số được mô tả ở đây là một yêu cầu thiết yếu để vận
hành khối. Trong ví dụ ứng dụng này, dữ liệu được truyền từ bộ điều khiển đến
bộ lưu trữ trong máy chủ SQL. Không nhất thiết phải sử dụng kho lưu trữ để thực
hiện việc này.

Cài đặt kết nối và thông tin đăng nhập phải được xóa ở phía máy chủ SQL để
thiết lập kết nối. Thông tin thêm về chủ đề này có thể được tìm thấy trong chương
Cài đặt trong Microsoft SQL Server Express.

GHI CHÚ
Tham số "dữ liệu" phải được kết nối với nhau bằng "Mảng Byte" khi sử dụng S7-1200.
Một cấu trúc không được phép.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 11
Machine Translated by Google

2 Kỹ thuật

2.3 Hoạt động của LSql_Microsoft

Khối LSql_Microsoft được điều khiển thông qua các đầu vào "enable"
và "executeSqlCommand".

Thiết lập và chấm dứt kết nối

Đầu vào "enable" kiểm soát quá trình thiết lập và chấm dứt kết nối với máy
chủ SQL. "enable" phải có giá trị "TRUE" miễn là các lệnh SQL phải được truyền đến
máy chủ SQL. Nếu "enable" được đặt thành "FALSE" thì kết nối đến máy chủ SQL sẽ bị
chấm dứt.

Để thiết lập kết nối thành công, các tham số sau phải được đặt trong khối dữ liệu
"SqlConfig". Các tham số chưa được điền là tùy chọn.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 12
Machine Translated by Google

2 Kỹ thuật

Bảng 2-6

Tham số Ghi chú

1. Địa chỉ IP và cổng của SQL Cổng mặc định cho máy chủ Microsoft SQL là 1433.
máy chủ

2. Thông tin đăng nhập máy chủ SQL Xem Cài đặt trong Microsoft SQL Server Express

3. Tên của máy chủ SQL Trong ví dụ ứng dụng này: SQLEXPRESS

4. Tên cơ sở dữ liệu SQL Một máy chủ SQL có thể chứa nhiều cơ sở dữ liệu.
máy chủ Sử dụng tham số này để chỉ định cơ sở dữ liệu nào
bạn muốn kết nối.

Cấu trúc của cơ sở dữ liệu ví dụ

Cấu trúc của cơ sở dữ liệu ví dụ "SQLFromPLC" có thể được xem trong bảng dưới đây.

Bảng 2-7

Bàn Đường kẻ Loại dữ liệu

PLCDATA_1 IntegerValue1 Int

IntegerValue2 Int

IntegerValue3 Int

PLCDATA_2 Hoa quả Nchar (30)

Màu sắc Nchar (30)

Số lượng Int

PLCDATA_3 con số Int

tần suất xảy ra ngày giờ

Cấu trúc đã được chọn để chứng minh cách các số, chuỗi và dấu thời gian được lưu.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 13
Machine Translated by Google

2 Kỹ thuật

Hình sau cho bạn thấy cơ sở dữ liệu trong SQL Server Management Studio.

Hình 2-4

Truyền hướng dẫn SQL

Bạn sẽ xây dựng và lưu trữ một lệnh SQL tại đầu vào sqlCommand. Khi bộ điều khiển đã
thiết lập kết nối với máy chủ SQL, bạn có thể truyền lệnh SQL đến máy chủ SQL với một
cạnh tích cực tại đầu vào executeSqlCommand.

GHI CHÚ
Ví dụ này chỉ hỗ trợ mã hóa ASCII tiêu chuẩn.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 14
Machine Translated by Google

2 Kỹ thuật

Bạn có thể thêm một dòng mới vào bảng cơ sở dữ liệu này bằng "insert into PLCDATA_1".
"Giá trị (5,6,7)" chỉ định giá trị sẽ được nhập vào cột đầu tiên (5), cột thứ hai (6)
và cột thứ ba (7). Lệnh phức tạp là "insert vào PLCDATA_1 Values (5,6,7)". Lệnh SQL
được truyền đến cơ sở dữ liệu với một cạnh dương ở đầu vào "executeSqlCommand".

Hình sau cho thấy nội dung của bảng "PLCDATA_1" sau khi lệnh SQL này được thực thi.

Hình 2-5

Bạn có thể thêm một dòng mới vào bảng cơ sở dữ liệu này bằng "insert into PLCDATA_2".
"Giá trị ('Apple', 'red', 5)" chỉ định giá trị cần được nhập vào cột đầu tiên
('Apple'), thứ hai ('đỏ') và cột thứ ba (5). Lệnh phức tạp là "insert into PLCDATA_2
Values ('Apple', 'red', 5)". Lệnh SQL được truyền đến cơ sở dữ liệu với một cạnh dương ở
đầu vào "executeSqlCommand".

Hình dưới đây cho thấy nội dung của bảng "PLCDATA_2" sau khi lệnh SQL này được thực thi.

Hình 2-6

Bạn có thể thêm một dòng mới vào bảng cơ sở dữ liệu này với "insert into PLCDATA_3"
"Giá trị (7, $ '2020-01-01 10: 23: 24.125 $')" chỉ định giá trị sẽ được nhập vào
đầu tiên (7) và thứ hai ('2020-01-01 10: 23: 24.125') cột. Các dấu $ là cần thiết để gửi
ký tự "". Lệnh phức tạp là "insert vào PLCDATA_2 Values (7, $ '2020-01-01 10: 23: 24.125
$')". Lệnh SQL được truyền đến cơ sở dữ liệu với một cạnh dương ở đầu vào "executeSqlCommand".

Hình sau cho thấy nội dung của bảng "PLCDATA_3" sau khi lệnh SQL này được thực thi.

Hình 2-7

Bạn có thể tìm thấy các lệnh ví dụ bổ sung trong khối dữ liệu "SqlCommand", như trong
hình bên dưới.

Hình 2-8

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 15
Machine Translated by Google

2 Kỹ thuật

Hướng dẫn "chọn"

Sử dụng lệnh "select", bạn có thể đọc dữ liệu từ bảng cơ sở dữ liệu và thực hiện các
thao tác khác trên chúng trong bộ điều khiển của bạn. Dưới đây, chúng tôi sử dụng một ví dụ
để hiển thị cách hoạt động của hướng dẫn này và những sửa đổi nào bạn sẽ cần thực hiện cho
truy vấn của mình.

Ví dụ sử dụng truy vấn sau:


"Chọn Số tiền từ PLCDATA_2 trong đó Fruit = $ 'Apple $'".

Dữ liệu được truy vấn được lưu trữ trong khối dữ liệu "SqlReceive" trong cấu
trúc kiểu dữ liệu "typeUseCaseSpecificData". Bạn phải sửa đổi các loại dữ liệu
này riêng lẻ cho từng truy vấn. Bạn có thể làm điều này như sau:

1. Bắt đầu ghi Wireshark để tìm độ dài gói của siêu dữ liệu.

2. Chạy truy vấn "Chọn Số tiền từ PLCDATA_2 trong đó Fruit = $ 'Apple $'".

3. Dừng ghi Wireshark và tìm kiếm khung phản hồi từ SQL


máy chủ sử dụng bộ lọc "tds".
4. Chọn khung và nhấp vào dòng
"Mã thông báo - ColumnMetaData".

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 16
Machine Translated by Google

2 Kỹ thuật

5. Bây giờ điều chỉnh độ dài của cấu trúc kiểu dữ liệu "typeUseCaseSpecificData".
Để làm điều này, bạn phải chỉnh sửa loại ví dụ. Loại này sau đó có thể được lưu dưới
dạng phiên bản mới.

6. Bây giờ, đối với mảng "tokenColumnMetaData", hãy nhập độ dài được hiển thị trong
Wireshark. Trong ví dụ, nó là "24 Byte". Nếu bạn mong đợi nhiều hơn 15 kết quả, hãy
phóng to mảng "tokenRows" với kích thước thích hợp. Nếu cần, hãy điều chỉnh kiểu dữ
liệu chứa của phần tử "tokenRows.data" nếu bạn mong đợi một chuỗi chẳng hạn.

7. Tải xuống các thay đổi cho bộ điều khiển của bạn và khởi động lại truy vấn. Bây giờ
bạn sẽ nhận được dữ liệu được truy vấn trong các phần tử riêng lẻ của mảng
"tokenRows [x] .data". Bạn có thể xem kết quả của truy vấn ví dụ trong hình bên dưới.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 17
Machine Translated by Google

2 Kỹ thuật

Truy vấn dài với các thủ tục được lưu trữ

Các truy vấn chọn phức tạp có thể nhanh chóng vượt quá giới hạn 254 ký tự. Nếu bạn
muốn sử dụng các truy vấn dài hơn 254 ký tự, bạn có tùy chọn gọi một "thủ tục được
lưu trữ". Đây là cách hiệu quả nhất để thực hiện một truy vấn dài của cơ sở dữ liệu.

Thủ tục được lưu trữ là một hàm xử lý các truy vấn được lưu trữ và sau đó trả về
kết quả cho người dùng.

1. Tạo một "Thủ tục đã lưu" với bất kỳ tên nào (ví dụ: get_all_placed_orders).

2. Thực hiện truy vấn "thực thi get_all_placed_orders".

3. Bạn sẽ nhận lại kết quả của thủ tục.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 18
Machine Translated by Google

2 Kỹ thuật

2,4 Xử lý lỗi

Nếu "LSql_Microsoft" có lỗi, hãy kiểm tra các thông số đầu ra "lỗi", "trạng thái" và
"chẩn đoán". "Lỗi - ĐÚNG" báo hiệu rằng đã xảy ra lỗi trong quá trình xử lý.
"Trạng thái" cung cấp thông tin rõ ràng về trạng thái của khối. "chẩn đoán"
cung cấp cho bạn trạng thái chi tiết và thông tin chẩn đoán từ các chức năng
con mà khối "LSql_Microsoft" sử dụng nội bộ.

Theo khái niệm trạng thái của hướng dẫn kiểu lập trình SIMATIC được sử dụng,
các tham số "lỗi" và bit giá trị cao nhất (MSB) của "trạng thái" (bit 15) giống hệt nhau.
Các bit còn lại được sử dụng cho một mã lỗi chỉ ra nguyên nhân một cách rõ ràng. Các
mã lỗi cũng được lưu trữ dưới dạng hằng số trong dữ liệu cục bộ của khối.

Trạng thái và thông báo lỗi Mã HEX

Bảng sau đây mô tả các khía cạnh quan trọng nhất của trạng thái và thông báo lỗi từ
khối "LSql_Microsoft".
Bảng 2-8

Tên không đổi / thông báo lỗi Giá trị Nghĩa

STATUS_NO_CALL 7000 Hiện không có công việc nào đang được xử lý

STATUS_FIRST_CALL 7001 Cuộc gọi đầu tiên sau khi có công việc mới (cạnh
lên ở "enable")

STATUS_SUBSEQUENT_CALL 7002 Cuộc gọi tiếp theo trong quá trình xử lý tích
cực mà không có thêm chi tiết

STATUS_TDISCON_SUCCESSFUL 7011 trạng thái từ TDISCON được gọi thành công

ERR_IN_BLOCK_OPERATION 8001 Lỗi: Hoạt động sai của khối chức năng

ERR_TDISCON_REMOTE_TERMINATION 80A3 Lỗi: TDISCON, Kết nối đã bị chấm dứt hoặc


không tồn tại

ERR_PARAMETERIZATION 8200 Lỗi trong quá trình tham số hóa

ERR_PROCESSING_EXTERN 8400 Lỗi khi xử lý từ bên ngoài (ví dụ: tín


hiệu I / O sai)

ERR_UNDEFINED_STATE 8600 Lỗi do trạng thái không xác định trong máy
trạng thái

ERR_DISCONNECT 8601 Lỗi khi gọi TDISCON

ERR_CONNECT 8602 Lỗi khi gọi TCON

ERR_PRELOGIN 8603 Lỗi khi thực hiện đăng nhập trước

ERR_LOGIN 8604 Lỗi khi thực hiện đăng nhập

ERR_TRCV 8605 Lỗi khi gọi TRCV

ERR_ARCHIVE 8606 Lỗi: lưu trữ trong db

ERR_PRELOGIN_DATA 8607 Lỗi khi chuyển đổi dữ liệu đăng nhập trước thành word

ERR_LOGIN_DATA 8608 Lỗi khi chuyển đổi dữ liệu đăng nhập thành word

ERR_SQLBATCH_DATA 8609 Lỗi khi chuyển đổi dữ liệu lệnh SQL thành
word

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 19
Machine Translated by Google

2 Kỹ thuật

Trạng thái và thông báo lỗi từ máy chủ SQL

Bạn có thể thực hiện phân tích lỗi chi tiết trực tiếp trong "SQL Server Management
Studio". Để thực hiện việc này, hãy chuyển đến thư mục "Quản lý> Nhật ký Máy chủ SQL". Ở
đó, bạn có thể tìm thấy nhật ký máy chủ, trong số những thứ khác, thông báo lỗi được lưu trữ.

Hình 2-9

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 20
Machine Translated by Google

3 Thông tin hữu ích

3 Thông tin hữu ích

3.1 Khái niệm cơ bản về Microsoft SQL Server Express

Microsoft SQL Server Express

Máy chủ Microsoft SQL là một hệ thống quản lý cơ sở dữ liệu hiệu suất cao dành cho cơ sở dữ
liệu SQL. Phiên bản Express miễn phí được thiết kế cho các ứng dụng máy tính để bàn và máy chủ.
Nó hỗ trợ lên đến 10 gigabyte dung lượng lưu trữ cho mỗi cơ sở dữ liệu.

Phiên bản 2017 có thể được tải xuống tại đây: https://www.microsoft.com/en US /
download / details.aspx? Id = 55994

Microsoft SQL Server Management Studio

Microsoft SQL Server Management Studio miễn phí cung cấp các công cụ để định cấu hình, giám
sát và quản lý các phiên bản hoặc Máy chủ SQL và cơ sở dữ liệu. Nó giúp bạn có thể gửi các
truy vấn và tập lệnh tới cơ sở dữ liệu dưới dạng các lệnh SQL.
Bằng cách này, bạn có thể nhập dữ liệu mới vào bảng cơ sở dữ liệu hoặc đọc dữ liệu hiện có.

Bạn có thể tải phiên bản 18 tại đây: https://docs.microsoft.com/en us / sql /


ssms / download-sql-server-management-studio-ssms? View = sql-server-ver15

TDS - Giao thức luồng dữ liệu dạng bảng

Giao thức Tabular Data Stream là một giao thức trên lớp ứng dụng (lớp 7) của mô hình tham chiếu
ISO / OSI. Nó tạo điều kiện tương tác với máy chủ Microsoft SQL, bao gồm xác thực và mã hóa
giao tiếp. Sau khi đăng nhập thành công vào máy chủ SQL, các lệnh SQL có thể được trao đổi với
cơ sở dữ liệu của máy chủ bằng giao thức này. Dữ liệu được truyền qua TCP / IP.

Luồng dữ liệu dạng bảng được mô tả nhiều trong Tài liệu kỹ thuật của Microsoft: https://
docs.microsoft.com/en us / openspecs / windows_protocols / ms-tds / b46a581a-39de-4745-
b076-
ec4dbb7d13ec

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 21
Machine Translated by Google

3 Thông tin hữu ích

3.2 Cài đặt trong Microsoft SQL Server Express

Đăng nhập vào máy chủ SQL

Việc đăng nhập vào cơ sở dữ liệu Microsoft SQL Server Express qua chế độ xác
thực máy chủ SQL phải được ủy quyền trong cài đặt cơ sở dữ liệu. Điều này là bắt buộc
để đăng nhập vào cơ sở dữ liệu bằng tên người dùng và mật khẩu thông qua giao thức
TDS. Các bước cần thiết cho việc này được mô tả dưới đây.

1. Khởi động Microsoft SQL Server Management Studio.

2. Mở các thuộc tính của cá thể SQLEXPRESS.

3. Trong cài đặt bảo mật, hãy kích hoạt "Chế độ xác thực máy chủ SQL" và xác nhận
thay đổi này bằng "OK".

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 22
Machine Translated by Google

3 Thông tin hữu ích

4. Tạo tài khoản người dùng trong "Bảo mật> Đăng nhập> Đăng nhập mới…".

5. Gán tên người dùng và chọn "Xác thực SQL Server". Đặt mật khẩu và xác nhận các
mục nhập bằng "OK".

GHI CHÚ
Đảm bảo rằng người dùng này nhận được quyền truy cập vào cơ sở dữ liệu này.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 23
Machine Translated by Google

3 Thông tin hữu ích

Ủy quyền cổng trong máy chủ SQL

GHI CHÚ
Cổng 1433 là cổng mặc định cho cơ sở dữ liệu máy chủ Microsoft SQL.

GHI CHÚ
Với tường lửa đang hoạt động trên PC có cơ sở dữ liệu máy chủ Microsoft SQL, cổng TCP "1433" phải

được phép trong tường lửa cho các kết nối đến.

Ủy quyền cổng phải được thiết lập trong máy chủ SQL để máy chủ SQL có thể truy cập được trên
mạng. Các bước cần thiết được mô tả dưới đây.

1. Khởi động "Microsoft SQL Server Configuration Manager" và điều hướng đến các giao thức cho
"SQLEXPRESS". Nhấp đúp để mở cài đặt TCP / IP.

2. Kích hoạt TCP / IP.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 24
Machine Translated by Google

3 Thông tin hữu ích

3. Trong IP3, định cấu hình địa chỉ IP của giao diện mạng và cổng 1433.
Bật giao diện và xác nhận cài đặt bằng "OK".

4. Khởi động lại dịch vụ máy chủ SQL để các thay đổi có hiệu lực.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 25
Machine Translated by Google

4 Phụ lục

4 ruột thừa
4.1 Dịch vụ và hỗ trợ

Hỗ trợ trực tuyến trong ngành

Bạn có bất kỳ câu hỏi hoặc cần hỗ trợ?

Bộ phận Hỗ trợ Trực tuyến của Ngành Công nghiệp Siemens cung cấp quyền truy cập suốt ngày đêm vào toàn bộ

dịch vụ và bí quyết hỗ trợ cũng như danh mục đầu tư của chúng tôi.

Bộ phận Hỗ trợ Trực tuyến của Ngành là địa chỉ trung tâm cung cấp thông tin về các sản
phẩm, giải pháp và dịch vụ của chúng tôi.

Thông tin sản phẩm, hướng dẫn sử dụng, tải xuống, Câu hỏi thường gặp, ví dụ về ứng dụng và video
- tất cả thông tin đều có thể truy cập được chỉ với một vài cú nhấp chuột:
support.industry.siemens.com

Hỗ trợ kỹ thuật

Bộ phận Hỗ trợ Kỹ thuật của Siemens Industry cung cấp cho bạn sự hỗ trợ nhanh chóng và có
thẩm quyền về tất cả các truy vấn kỹ thuật với nhiều ưu đãi phù hợp - từ hỗ trợ cơ bản đến
các hợp đồng hỗ trợ riêng lẻ. Vui lòng gửi câu hỏi đến bộ phận Hỗ trợ kỹ thuật qua biểu mẫu Web:

www.siemens.com/industry/supportrequest

SITRAIN - Học viện Công nghiệp Kỹ thuật số

Chúng tôi hỗ trợ bạn bằng các khóa đào tạo có sẵn trên toàn cầu cho ngành với kinh nghiệm
thực tế, phương pháp học tập sáng tạo và khái niệm phù hợp với nhu cầu cụ thể của khách hàng.

Để biết thêm thông tin về các khóa đào tạo và khóa học được cung cấp của chúng tôi, cũng như địa điểm

và ngày tháng của họ, hãy tham khảo trang web của chúng tôi:

www.siemens.com/sitrain

Cung cấp dịch vụ

Phạm vi dịch vụ của chúng tôi bao gồm:

• Dịch vụ dữ liệu thực vật

• Dịch vụ phụ tùng

• Dịch vụ sửa chữa

• Dịch vụ bảo trì và bảo dưỡng tại chỗ

• Dịch vụ trang bị thêm và hiện đại hóa

• Các chương trình và hợp đồng dịch vụ

Bạn có thể tìm thông tin chi tiết về phạm vi dịch vụ của chúng tôi trong trang web danh mục
dịch vụ:
support.industry.siemens.com/cs/sc

Ứng dụng hỗ trợ trực tuyến trong ngành

Bạn sẽ nhận được sự hỗ trợ tối ưu mọi lúc mọi nơi với ứng dụng "Hỗ trợ Trực tuyến của Ngành
Công nghiệp Siemens". Ứng dụng có sẵn cho iOS và Android: support.industry.siemens.com/cs/ww/
en/sc/2067

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 26
Machine Translated by Google

4 Phụ lục

4.2 Liên kết và văn học

Bảng 4-1

Không. Môn học

\ 1 \ Hỗ trợ trực tuyến trong ngành của Siemens

https://support.industry.siemens.com
\ 2 \ Liên kết đến trang bài viết về ví dụ ứng dụng https://

support.industry.siemens.com/cs/ww/vi/view/109779336

4.3 Thay đổi tài liệu

Bảng 4-2

Phiên bản Ngày tháng


Thay đổi

V1.0 20/05 Ấn bản đầu tiên

V2.0 11/2020 Mở rộng bằng chức năng "chọn"

V2.1 02/2021 Bổ sung một số lưu ý trong tài liệu.

Microsoft SQL với S7-1500


ID bài viết: 109779336, V2.1, 02/2021 27

You might also like