در این مطلب، ویدئو اشتراک رویداد تغییر داده با Python OPC UA با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:12:47
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,599 –> 00:00:02,960
سلام یوتیوب،
2
00:00:02,960 –> 00:00:05,920
بنابراین در ویدیوی امروز میخواهم
3
00:00:05,920 –> 00:00:08,800
نحوه استفاده از اشتراکهای تغییر داده
4
00:00:08,800 –> 00:00:12,799
با ماژول رایگان python opc ua را به شما نشان دهم
5
00:00:12,799 –> 00:00:14,880
و برای این منظور به
6
00:00:14,880 –> 00:00:16,800
سناریوی زیر
7
00:00:16,800 –> 00:00:20,560
رسیدم، بیایید تصور کنیم سرور
8
00:00:20,560 –> 00:00:23,439
opca یک گره متغیر ارائه میدهد که
9
00:00:23,439 –> 00:00:26,720
حاوی مقدار یک دکمه
10
00:00:27,039 –> 00:00:30,320
و اکنون می خواهم یک کاربر گرافیکی opc
11
00:00:30,320 –> 00:00:34,320
ua بنویسم تا وضعیت دکمه را کنترل کند
12
00:00:34,320 –> 00:00:36,399
و در اینجا در این پوشه دو تصویر دارم،
13
00:00:36,399 –> 00:00:39,840
بنابراین اجازه دهید آنها را به شما نشان دهم
14
00:00:39,840 –> 00:00:42,079
این اولین تصویر است و
15
00:00:42,079 –> 00:00:44,160
هر زمان که دکمه فشار داده نشود باید نمایش داده شود.
16
00:00:44,160 –> 00:00:45,600
17
00:00:45,600 –> 00:00:47,760
اگر دکمه فشار داده شود، میخواهم امروز
18
00:00:47,760 –> 00:00:50,000
این تصویر را نمایش
19
00:00:50,000 –> 00:00:53,280
دهم، اما
20
00:00:53,280 –> 00:00:55,760
نمیتوانم دکمه فیزیکی را به لپتاپم وصل نکنم یا
21
00:00:55,760 –> 00:00:58,000
از Raspberry Pi استفاده نمیکنم، اما در
22
00:00:58,000 –> 00:00:59,520
عوض از یک شبیهسازی ساده در اینجا استفاده میکنم.
23
00:00:59,520 –> 00:01:02,559
24
00:01:02,559 –> 00:01:03,440
25
00:01:03,440 –> 00:01:06,080
من نمی خواهم همیشه وضعیت دکمه را صدا بزنم
26
00:01:06,080 –> 00:01:08,960
، اما در عوض می خواهم از اشتراک تغییر داده استفاده کنم،
27
00:01:08,960 –> 00:01:12,080
28
00:01:12,080 –> 00:01:14,000
بنابراین اولین کاری که باید انجام دهیم این است که
29
00:01:14,000 –> 00:01:17,439
باید سرور opc ua را
30
00:01:17,439 –> 00:01:19,360
برای دکمه خود
31
00:01:19,360 –> 00:01:21,840
راه اندازی کنیم، بنابراین پایتون را از اینجا شروع می کنم. و بگذارید
32
00:01:21,840 –> 00:01:23,119
فقط
33
00:01:23,119 –> 00:01:25,520
تایپ کنم کد یک
34
00:01:25,520 –> 00:01:30,320
سرور ساده opus ua با استفاده از opencua رایگان
35
00:01:30,320 –> 00:01:33,119
را اینجا توضیح نمی دهم زیرا
36
00:01:33,119 –> 00:01:35,280
37
00:01:35,280 –> 00:01:36,880
38
00:01:36,880 –> 00:01:39,360
چندین بار در ویدیوهای قدیمی در کانال خود چنین سرورهایی را راه اندازی کرده ام
39
00:01:39,360 –> 00:01:41,119
اما
40
00:01:41,119 –> 00:01:43,280
شاید پیوندی به
41
00:01:43,280 –> 00:01:45,600
توضیحات قرار دهم که
42
00:01:45,600 –> 00:01:48,000
یکی از آنها را به شما نشان دهد. ویدیوهای قدیمی من که در اینجا
43
00:01:48,000 –> 00:01:51,040
همه چیز را گام به گام توضیح می دهم،
44
00:01:51,040 –> 00:01:53,360
45
00:01:53,360 –> 00:01:56,000
یک
46
00:01:56,000 –> 00:01:59,840
یادداشت متغیر به گره اشیاء خود اضافه می کنم
47
00:01:59,840 –> 00:02:02,880
و این گره باید دارای شناسه گره
48
00:02:02,880 –> 00:02:04,640
فضای نام
49
00:02:04,640 –> 00:02:05,840
50
00:02:05,840 –> 00:02:08,479
51
00:02:08,479 –> 00:02:10,399
52
00:02:10,399 –> 00:02:11,520
53
00:02:11,520 –> 00:02:15,280
باشد.
54
00:02:15,280 –> 00:02:17,360
و اکنون میتوانم سرورم را راهاندازی کنم که
55
00:02:17,360 –> 00:02:21,160
اکنون روی localhostport4840 اجرا میشود
56
00:02:22,239 –> 00:02:25,200
و اکنون مرحله بعدی
57
00:02:25,200 –> 00:02:28,239
ایجاد یک کلاینت است،
58
00:02:28,239 –> 00:02:31,040
بنابراین اجازه دهید به این دایرکتوری تغییر دهم
59
00:02:31,040 –> 00:02:33,519
، دو تصویر داریم و
60
00:02:33,519 –> 00:02:37,519
فایلی به نام esu dot type
61
00:02:37,519 –> 00:02:40,319
um برنامه را
62
00:02:40,319 –> 00:02:43,120
برای نظارت بر
63
00:02:43,120 –> 00:02:45,840
وضعیت دکمه
64
00:02:45,840 –> 00:02:47,570
ارائه شده توسط
65
00:02:47,570 –> 00:02:48,879
[Music]
66
00:02:48,879 –> 00:02:54,000
opc ua server خوب است،
67
00:02:54,080 –> 00:02:56,720
بنابراین ابتدا باید چند ماژول را
68
00:02:56,720 –> 00:02:59,280
برای رابط کاربری گرافیکی خود وارد کنم،
69
00:02:59,280 –> 00:03:02,000
از tk inter استفاده خواهم کرد
70
00:03:02,000 –> 00:03:06,239
و در اینجا برچسب قاب tk
71
00:03:06,239 –> 00:03:07,120
و
72
00:03:07,120 –> 00:03:10,080
عکس عکس
73
00:03:10,080 –> 00:03:12,000
و برای را
74
00:03:12,000 –> 00:03:14,400
روی کلاینت وارد می کنم. ops ua را آزاد کنید
75
00:03:14,400 –> 00:03:17,200
و کلاس کلاینت را با C بزرگ وارد می کنم،
76
00:03:17,200 –> 00:03:19,840
77
00:03:19,840 –> 00:03:21,680
بیایید
78
00:03:21,680 –> 00:03:25,040
اکنون شروع کنیم، اجازه دهید رابط کاربری را ایجاد کنیم و من معتقدم
79
00:03:25,040 –> 00:03:27,519
این اولین رابط کاربری است که در این کانال انجام می دهم، فکر می
80
00:03:27,519 –> 00:03:28,560
81
00:03:28,560 –> 00:03:32,959
کنم هرگز یک رابط کاربری ننوشته ام،
82
00:03:32,959 –> 00:03:33,840
اما
83
00:03:33,840 –> 00:03:35,760
بله، نمی دانم نمیخواهم بیش از حد وارد
84
00:03:35,760 –> 00:03:37,519
جزئیات
85
00:03:37,519 –> 00:03:41,760
شوم، زیرا من یک متخصص رابط کاربری نیستم
86
00:03:41,760 –> 00:03:43,920
و ویدیوهای بهتری وجود دارد
87
00:03:43,920 –> 00:03:47,680
که نحوه استفاده از اطلاعات dk را به شما توضیح میدهد،
88
00:03:47,680 –> 00:03:49,599
اما کاری که من اینجا انجام میدهم این است
89
00:03:49,599 –> 00:03:52,159
که یک مینفریم ایجاد کردهام
90
00:03:52,159 –> 00:03:54,640
و یک آرایه با آن ایجاد خواهم کرد. همه حالت های
91
00:03:54,640 –> 00:03:56,560
دکمه
92
00:03:56,560 –> 00:03:58,480
عکس
93
00:03:58,480 –> 00:04:01,200
94
00:04:01,200 –> 00:04:05,840
عکس خاموش است فایل
95
00:04:06,720 –> 00:04:09,599
اتصال عکس png
96
00:04:09,599 –> 00:04:11,599
97
00:04:11,599 –> 00:04:15,760
روی png است بنابراین این آرایه فقط شامل
98
00:04:15,760 –> 00:04:18,880
دو تصویر من است و این باید یک علامت بزرگ
99
00:04:18,880 –> 00:04:21,120
باشد در اینجا
100
00:04:21,120 –> 00:04:25,199
حالا بیایید یک برچسب ایجاد کنیم
101
00:04:27,360 –> 00:04:29,440
102
00:04:29,440 –> 00:04:33,520
و مین فریم را اضافه کنیم و تصویر باید
103
00:04:33,520 –> 00:04:36,560
در ابتدا حالت دکمه 0 باشد. اما
104
00:04:36,560 –> 00:04:38,800
با شروع این اشتراک،
105
00:04:38,800 –> 00:04:40,800
مقدار برای اولین بار دریچه میشود و این
106
00:04:40,800 –> 00:04:43,680
باید به حالت
107
00:04:43,680 –> 00:04:45,759
واقعی دکمه تغییر
108
00:04:45,759 –> 00:04:48,560
کند، OK
109
00:04:48,560 –> 00:04:50,800
110
00:04:51,120 –> 00:04:54,759
111
00:04:56,160 –> 00:04:58,400
112
00:04:58,400 –> 00:05:01,120
باید
113
00:05:01,120 –> 00:05:02,960
114
00:05:02,960 –> 00:05:08,199
یک کلاس برای su اضافه کنید bscription
115
00:05:08,840 –> 00:05:10,639
handler
116
00:05:10,639 –> 00:05:12,639
بنابراین ما یک کلاس جدید در اینجا ایجاد می کنیم و من
117
00:05:12,639 –> 00:05:14,479
آن را دکمه handler می نامم
118
00:05:14,479 –> 00:05:17,039
119
00:05:17,840 –> 00:05:20,400
و
120
00:05:20,400 –> 00:05:23,120
باید یک متد را با اعلان تغییر نام داده تعریف کنم
121
00:05:23,120 –> 00:05:26,880
122
00:05:26,880 –> 00:05:29,120
و این متد هر زمان
123
00:05:29,120 –> 00:05:32,080
که وضعیت دکمه من
124
00:05:32,080 –> 00:05:34,080
تغییر کرد
125
00:05:34,080 –> 00:05:37,199
به عنوان آرگومان هایی که به آن نیاز دارد فراخوانی می شود. گره ای که
126
00:05:37,199 –> 00:05:38,880
تغییر کرده است زیرا می توانم از یک
127
00:05:38,880 –> 00:05:40,960
هندلر برای چندین گره استفاده کنم
128
00:05:40,960 –> 00:05:44,639
، مقدار جدید و یک فیلد داده در اینجا
129
00:05:44,639 –> 00:05:46,400
اولین کاری که می کنم این است که فقط
130
00:05:46,400 –> 00:05:47,360
131
00:05:47,360 –> 00:05:49,520
132
00:05:49,520 –> 00:05:52,520
حالت جدید
133
00:05:52,639 –> 00:05:54,880
را چاپ می کنم و
134
00:05:54,880 –> 00:05:58,720
وضعیت جدیدی را در اینجا چاپ می کنم و اگر مقدار
135
00:05:58,720 –> 00:06:01,039
درست باشد
136
00:06:01,039 –> 00:06:02,080
i فقط
137
00:06:02,080 –> 00:06:04,400
138
00:06:04,800 –> 00:06:06,400
ام من
139
00:06:06,40