精品国产AV无码一区二区三区,久久久精品妇女99,2020天堂在线亚洲精品专区 http://www.qjsdgw.cn Sat, 06 Jan 2024 02:04:44 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.3 http://www.qjsdgw.cn/wp-content/uploads/2022/03/ico.png 實(shí)例 – V商人 http://www.qjsdgw.cn 32 32 大學(xué)生android開(kāi)發(fā)項(xiàng)目實(shí)例,大學(xué)生移動(dòng)應(yīng)用開(kāi)發(fā)案例? http://www.qjsdgw.cn/162347.html Sat, 06 Jan 2024 02:03:49 +0000 http://www.qjsdgw.cn/?p=162347 Android開(kāi)發(fā)之ImageView播放GIF動(dòng)畫(huà)實(shí)例

Android的原生控件并不支持播放GIF格式的圖片,如果想在A(yíng)ndroid中顯示一張GIF動(dòng)態(tài)圖片,可以利用 ImageView控件來(lái)完成,但是放進(jìn)去之后,你會(huì)發(fā)現(xiàn),ImageView它只會(huì)顯示這張圖片的第一幀,不會(huì)產(chǎn)生任何的動(dòng)畫(huà)效果。我們必須通過(guò)自定義控件的方式來(lái)實(shí)現(xiàn)ImageView播放GIF 圖片的功能。

首先我們來(lái)編寫(xiě)一個(gè)PowerImageView控件,讓它既能支持ImageView控件原生的所有功能,同時(shí)還可以播放GIF動(dòng)態(tài)圖片。

先新建一個(gè)項(xiàng)目PowerImageViewTest,這里使用Android 4.0+Eclipse。

由于是要自定義控件,會(huì)需要一些自定義的控件屬性,因此我們需要在values目錄下新建一個(gè)attrs.xml的文件,在這個(gè)文件中添加項(xiàng)目需要的自定義屬性。

這里我們目前暫時(shí)只需要一個(gè)自動(dòng)播放auto_play屬性,XML文件代碼如下:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<declare-styleable name="PowerImageView">

<attr name="auto_play" format="boolean"></attr>

</declare-styleable>

</resources>

這個(gè)文件完成之后,下面我們來(lái)開(kāi)始編寫(xiě)主類(lèi)PowerImageView類(lèi),由于PowerImageView類(lèi)需要支持ImageView的所有功能,我們必須要讓PowerImageView繼承自ImageView,代碼如下:

public class PowerImageView extends ImageView implements OnClickListener {

/**

* 播放GIF動(dòng)畫(huà)的關(guān)鍵類(lèi)

*/

private Movie mMovie;

/**

* 開(kāi)始播放按鈕圖片

*/

private Bitmap mStartButton;

/**

* 記錄動(dòng)畫(huà)開(kāi)始的時(shí)間

*/

private long mMovieStart;

/**

* GIF圖片的寬度

*/

private int mImageWidth;

/**

* GIF圖片的高度

*/

private int mImageHeight;

/**

* 圖片是否正在播放

*/

private boolean isPlaying;

/**

* 是否允許自動(dòng)播放

*/

private boolean isAutoPlay;

/**

* PowerImageView構(gòu)造函數(shù)。

*

* @param context

*/

public PowerImageView(Context context) {

super(context);

}

/**

* PowerImageView構(gòu)造函數(shù)。

*

* @param context

*/

public PowerImageView(Context context, AttributeSet attrs) {

this(context, attrs, 0);

}

/**

* PowerImageView構(gòu)造函數(shù),在這里完成所有必要的初始化操作。

*

* @param context

*/

public PowerImageView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

TypedArray a=context.obtainStyledAttributes(attrs, R.styleable.PowerImageView);

int resourceId=getResourceId(a, context, attrs);

if (resourceId !=0) {

// 當(dāng)資源id不等于0時(shí),就去獲取該資源的流

InputStream is=getResources().openRawResource(resourceId);

// 使用Movie類(lèi)對(duì)流進(jìn)行解碼

mMovie=Movie.decodeStream(is);

if (mMovie !=null) {

// 如果返回值不等于null,就說(shuō)明這是一個(gè)GIF圖片,下面獲取是否自動(dòng)播放的屬性

isAutoPlay=a.getBoolean(R.styleable.PowerImageView_auto_play, false);

Bitmap bitmap=BitmapFactory.decodeStream(is);

mImageWidth=bitmap.getWidth();

mImageHeight=bitmap.getHeight();

bitmap.recycle();

if (!isAutoPlay) {

// 當(dāng)不允許自動(dòng)播放的時(shí)候,得到開(kāi)始播放按鈕的圖片,并注冊(cè)點(diǎn)擊事件

mStartButton=BitmapFactory.decodeResource(getResources(),R.drawable.start_play);

setOnClickListener(this);

}

}

}

}

@Override

public void onClick(View v) {

if (v.getId()==getId()) {

// 當(dāng)用戶(hù)點(diǎn)擊圖片時(shí),開(kāi)始播放GIF動(dòng)畫(huà)

isPlaying=true;

invalidate();

}

}

@Override

protected void onDraw(Canvas canvas) {

if (mMovie==null) {

// mMovie等于null,說(shuō)明是張普通的圖片,則直接調(diào)用父類(lèi)的onDraw()方法

super.onDraw(canvas);

} else {

// mMovie不等于null,說(shuō)明是張GIF圖片

if (isAutoPlay) {

// 如果允許自動(dòng)播放,就調(diào)用playMovie()方法播放GIF動(dòng)畫(huà)

playMovie(canvas);

invalidate();

} else {

// 不允許自動(dòng)播放時(shí),判斷當(dāng)前圖片是否正在播放

if (isPlaying) {

// 正在播放就繼續(xù)調(diào)用playMovie()方法,一直到動(dòng)畫(huà)播放結(jié)束為止

if (playMovie(canvas)) {

isPlaying=false;

}

invalidate();

} else {

// 還沒(méi)開(kāi)始播放就只繪制GIF圖片的第一幀,并繪制一個(gè)開(kāi)始按鈕

mMovie.setTime(0);

mMovie.draw(canvas, 0, 0);

int offsetW=(mImageWidth – mStartButton.getWidth()) / 2;

int offsetH=(mImageHeight – mStartButton.getHeight()) / 2;

canvas.drawBitmap(mStartButton, offsetW, offsetH, null);

}

}

}

}

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

if (mMovie !=null) {

// 如果是GIF圖片則重寫(xiě)設(shè)定PowerImageView的大小

setMeasuredDimension(mImageWidth, mImageHeight);

}

}

/**

* 開(kāi)始播放GIF動(dòng)畫(huà),播放完成返回true,未完成返回false。

*

* @param canvas

* @return 播放完成返回true,未完成返回false。

*/

private boolean playMovie(Canvas canvas) {

long now=SystemClock.uptimeMillis();

if (mMovieStart==0) {

mMovieStart=now;

}

int duration=mMovie.duration();

if (duration==0) {

duration=1000;

}

int relTime=(int) ((now – mMovieStart) % duration);

mMovie.setTime(relTime);

mMovie.draw(canvas, 0, 0);

if ((now – mMovieStart) >=duration) {

mMovieStart=0;

return true;

}

return false;

}

/**

* 通過(guò)Java反射,獲取到src指定圖片資源所對(duì)應(yīng)的id。

*

* @param a

* @param context

* @param attrs

* @return 返回布局文件中指定圖片資源所對(duì)應(yīng)的id,沒(méi)有指定任何圖片資源就返回0。

*/

private int getResourceId(TypedArray a, Context context, AttributeSet attrs) {

try {

Field field=TypedArray.class.getDeclaredField("mValue");

field.setAccessible(true);

TypedValue typedValueObject=(TypedValue) field.get(a);

return typedValueObject.resourceId;

} catch (Exception e) {

e.printStackTrace();

} finally {

if (a !=null) {

a.recycle();

}

}

return 0;

}

}

這個(gè)類(lèi)的代碼注釋已經(jīng)非常詳細(xì)了,我再來(lái)簡(jiǎn)單地解釋一下。可以看到,我們重寫(xiě)了ImageView中所有的構(gòu)建函數(shù),使得 PowerImageView的用法可以和ImageView完全相同。在構(gòu)造函數(shù)中,則是對(duì)所有必要的數(shù)據(jù)進(jìn)行了初始化操作。首先,我們調(diào)用了 getResourceId()方法去獲取圖片資源對(duì)應(yīng)的id值,在getResourceId()方法內(nèi)部是通過(guò)Java的反射機(jī)制來(lái)進(jìn)行獲取的。得到了圖片資源的id后,我們將它轉(zhuǎn)換成InputStream,然后傳入到Movie.decodeStream()方法中以解碼出Movie對(duì)象。如果得到的Movie對(duì)象等于null,說(shuō)明這是一張普通的圖片資源,就不再進(jìn)行任何特殊處理,因?yàn)楦割?lèi)ImageView都幫我們處理好了。如果得到的 Movie對(duì)象不等于null,則說(shuō)明這是一張GIF圖片,接著就要去獲取是否允許自動(dòng)播放、圖片的寬高等屬性的值。如果不允許自動(dòng)播放,還要給播放按鈕 注冊(cè)點(diǎn)擊事件,默認(rèn)是不允許自動(dòng)播放的。

接下來(lái)會(huì)進(jìn)入到onMeasure()方法中。在這個(gè)方法中我們進(jìn)行判斷,如果這是一張GIF圖片,則需要將PowerImageView的寬高重定義,使得控件的大小剛好可以放得下這張GIF圖片。

再往后就會(huì)進(jìn)入到onDraw()方法中。在這個(gè)方法里同樣先判斷當(dāng)前是一張普通的圖片還是GIF圖片,如果是普通的圖片就直接調(diào)用 super.onDraw()方法交給ImageView去處理就好了。如果是GIF圖片,則先判斷該圖是否允許自動(dòng)播放,允許的話(huà)就調(diào)用 playMovie()方法去播放GIF圖片就好,不允許的話(huà)則會(huì)先在PowerImageView中繪制該GIF圖片的第一幀,并在圖片上繪制一個(gè)播放 按鈕,當(dāng)用戶(hù)點(diǎn)擊了播放按鈕時(shí),再去調(diào)用playMovie()方法去播放GIF圖片。

下面我們來(lái)看看playMovie()方法中是怎樣播放GIF圖片的吧??梢钥吹?,首先會(huì)對(duì)動(dòng)畫(huà)開(kāi)始的時(shí)間做下記錄,然后對(duì)動(dòng)畫(huà)持續(xù)的時(shí)間做下記 錄,接著使用當(dāng)前的時(shí)間減去動(dòng)畫(huà)開(kāi)始的時(shí)間,得到的時(shí)間就是此時(shí)PowerImageView應(yīng)該顯示的那一幀,然后借助Movie對(duì)象將這一幀繪制到屏 幕上即可。之后每次調(diào)用playMovie()方法都會(huì)繪制一幀圖片,連貫起來(lái)也就形成了GIF動(dòng)畫(huà)。注意,這個(gè)方法是有返回值的,如果當(dāng)前時(shí)間減去動(dòng)畫(huà) 開(kāi)始時(shí)間大于了動(dòng)畫(huà)持續(xù)時(shí)間,那就說(shuō)明動(dòng)畫(huà)播放完成了,返回true,否則返回false。

完成了PowerImageView的編寫(xiě),下面我們就來(lái)看一看如何使用它吧,其實(shí)非常簡(jiǎn)單,打開(kāi)或新建activity_main.xml,代碼如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent" >

<com.example.powerimageviewtest.PowerImageView

android:id="@+id/image_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:src="@drawable/anim"

/>

</RelativeLayout>

可以看到,PowerImageView的用法和ImageView幾乎完全一樣,使用android:src屬性來(lái)指定一張圖片即可,這里指定的anim就是一張GIF圖片。然后我們讓PowerImageView在布局里居中顯示MainActivity中的代碼都是自動(dòng)生成的,這里就不再貼出來(lái)了。在A(yíng)ndroidManifest.xml中還有一點(diǎn)需要注意,有些4.0 以上系統(tǒng)的手機(jī)啟動(dòng)了硬件加速功能之后會(huì)導(dǎo)致GIF動(dòng)畫(huà)播放不出來(lái),因此我們需要在A(yíng)ndroidManifest.xml中去禁用硬件加速功能,可以通過(guò)指定android:hardwareAccelerated屬性來(lái)完成,代碼如下所示:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.powerimageviewtest"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="14"

android:targetSdkVersion="17" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme"

android:hardwareAccelerated="false"

>

<activity

android:name="com.example.powerimageviewtest.MainActivity"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

</manifest>

現(xiàn)在可以來(lái)運(yùn)行一下代碼了,一打開(kāi)程序你就會(huì)看到GIF圖片的第一幀,點(diǎn)擊圖片之后就可以播放GIF動(dòng)畫(huà)了。

然后我們還可以通過(guò)修改activity_main.xml中的代碼,給它加上允許自動(dòng)播放的屬性,代碼如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:attr="http://schemas.android.com/apk/res/com.example.powerimageviewtest"

android:layout_width="match_parent"

android:layout_height="match_parent" >

<com.example.powerimageviewtest.PowerImageView

android:id="@+id/image_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:src="@drawable/anim"

attr:auto_play="true"

/>

</RelativeLayout>

這里使用了剛才我們自定義的屬性,通過(guò)attr:auto_play來(lái)啟用和禁用自動(dòng)播放功能?,F(xiàn)在將auto_play屬性指定成true后,PowerImageView上就不會(huì)再顯示一個(gè)播放按鈕,而是會(huì)循環(huán)地自動(dòng)播放動(dòng)畫(huà)。不僅如此,PowerImageView還繼承了ImageView原生的所有功能,只要指定的不是GIF圖 片,PowerImageView表現(xiàn)的結(jié)果就和ImageView完全一致,現(xiàn)在我們來(lái)放一張普通的PNG圖片,修改 activity_main.xml中的代碼,如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent" >

<com.example.powerimageviewtest.PowerImageView

android:id="@+id/image_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:src="@drawable/myphoto"

/>

</RelativeLayout>

這里在src屬性里面指定了一張名字為myphoto的PNG圖片,圖片在布局正中央顯示出來(lái)了,正是普通ImageView所具備的功能。我們還可以在PowerImageView中指定android:scaleType等屬性,用法和原生的ImageView完全一樣。

]]>
java項(xiàng)目開(kāi)發(fā)實(shí)例,java項(xiàng)目開(kāi)發(fā)實(shí)例代碼? http://www.qjsdgw.cn/155657.html Thu, 08 Jun 2023 23:07:35 +0000 http://www.qjsdgw.cn/?p=155657 隨著互聯(lián)網(wǎng)的發(fā)展,java項(xiàng)目開(kāi)發(fā)已經(jīng)成為了當(dāng)前最為火熱的領(lǐng)域之一。那么如何高效地進(jìn)行java項(xiàng)目開(kāi)發(fā)呢?在本文中,我們將為大家?guī)?lái)一些實(shí)用的java項(xiàng)目開(kāi)發(fā)實(shí)例,并詳細(xì)講解這些項(xiàng)目中涉及的java項(xiàng)目開(kāi)發(fā)實(shí)例代碼

1. 基于Spring MVC的圖片上傳應(yīng)用

Spring MVC是一種基于Java的應(yīng)用程序開(kāi)發(fā)框架,非常適合用于開(kāi)發(fā)Web應(yīng)用程序。在本實(shí)例中,我們將利用Spring MVC框架和AJAX技術(shù)實(shí)現(xiàn)一個(gè)比較基礎(chǔ)的圖片上傳功能。

在圖片上傳的過(guò)程中,我們可以使用Spring的MultipartResolver將圖片文件解析成多部分對(duì)象,然后通過(guò)交互式AJAX技術(shù)將上傳進(jìn)度展示給用戶(hù),在用戶(hù)完成上傳之后再將文件保存到后臺(tái)服務(wù)器上。

首先,我們需要在Spring MVC的配置文件中開(kāi)啟上傳功能:

“`

“`

接著,需要在前端頁(yè)面進(jìn)行文件上傳表單的編寫(xiě):

“`

“`

最后,定義后臺(tái)上傳函數(shù),將文件保存到服務(wù)器:

“`

@RequestMapping(value = “upload.do”, method = RequestMethod.POST)

@ResponseBody

public String upload(HttpServletRequest request) throws IOException {

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

MultipartFile file = multipartRequest.getFile(“file”);

if (file != null) {

String contentType = file.getContentType();

String[] allowedTypes = {“image/jpeg”, “image/png”, “image/gif”};

boolean allowed = Arrays.asList(allowedTypes).contains(contentType);

if (allowed) {

String filename = file.getOriginalFilename();

String suffix = filename.substring(filename.lastIndexOf(“.”));

Random random = new Random();

String newFileName = System.currentTimeMillis() + “” + random.nextInt(1000) + suffix;

File newFile = new File(request.getSession().getServletContext().getRealPath(“/upload”) + “/” + newFileName);

FileUtils.copyInputStreamToFile(file.getInputStream(), newFile);

return “ok”;

}

}

return “error”;

}

“`

2. 基于Spring Boot的簡(jiǎn)易博客系統(tǒng)

Spring Boot是一款基于Spring框架的快速應(yīng)用開(kāi)發(fā)框架,可以有效降低初期開(kāi)發(fā)的復(fù)雜度。在本實(shí)例中,我們將利用Spring Boot搭建一個(gè)簡(jiǎn)易的個(gè)人博客系統(tǒng)。

在博客系統(tǒng)的開(kāi)發(fā)過(guò)程中,我們需要考慮博客的發(fā)布、修改、刪除、查詢(xún)等功能。而在Spring Boot中使用MyBatis作為ORM框架,可以極大地簡(jiǎn)化我們的開(kāi)發(fā)過(guò)程。

首先,我們需要在配置文件中進(jìn)行數(shù)據(jù)庫(kù)的配置:

“`

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/blogdb

spring.datasource.username=root

spring.datasource.password=****

“`

接著,定義MyBatis的實(shí)體類(lèi)和Mapper文件:

“`

@Data

@AllArgsConstructor

@NoArgsConstructor

public class Blog {

private int id;

private String title;

private String content;

private Date createTime;

}

@Mapper

@Repository

public interface BlogMapper {

List selectBlogs();

Blog selectBlogById(int id);

int insertBlog(Blog blog);

int updateBlog(Blog blog);

int deleteBlogById(int id);

}

“`

最后,在Controller中編寫(xiě)路由函數(shù),將博客系統(tǒng)的各種功能進(jìn)行整合:

“`

@Controller

public class BlogController {

@Autowired

private BlogMapper blogMapper;

@RequestMapping(value = “/”, method = RequestMethod.GET)

public ModelAndView index() {

ModelAndView mv = new ModelAndView(“index”);

List blogs = blogMapper.selectBlogs();

mv.addObject(“blogs”, blogs);

return mv;

}

@RequestMapping(value = “/blog/{id}”, method = RequestMethod.GET)

public ModelAndView blog(@PathVariable(name = “id”) int id) {

ModelAndView mv = new ModelAndView(“blog”);

Blog blog = blogMapper.selectBlogById(id);

mv.addObject(“blog”, blog);

return mv;

}

//…其他路由函數(shù)

}

“`

以上便是兩個(gè)基于java項(xiàng)目開(kāi)發(fā)實(shí)例的例子,希望可以為讀者們提供一些有價(jià)值的參考!

]]>
三菱plc原點(diǎn)回歸梯形圖,三菱plc回原點(diǎn)程序?qū)嵗?/title> <link>http://www.qjsdgw.cn/135473.html</link> <dc:creator><![CDATA[投稿用戶(hù)]]></dc:creator> <pubDate>Wed, 18 Jan 2023 01:03:38 +0000</pubDate> <category><![CDATA[創(chuàng)業(yè)雜談]]></category> <category><![CDATA[plc]]></category> <category><![CDATA[原點(diǎn)]]></category> <category><![CDATA[實(shí)例]]></category> <category><![CDATA[梯形圖]]></category> <category><![CDATA[程序]]></category> <guid isPermaLink="false">http://www.qjsdgw.cn/?p=135473</guid> <description><![CDATA[本文以三菱PLC控制伺服馬達(dá)為例,具體分享一下伺服馬達(dá)控制步驟。 三菱伺服馬達(dá) 1.設(shè)置定位模塊基本參數(shù) 在智能功能模塊中(QD77MS系列)根據(jù)機(jī)械配置不同設(shè)置好相應(yīng)的參數(shù) 基本...]]></description> <content:encoded><![CDATA[<p data-track="1">本文以<em><span style="color: #742BFF;--tt-darkmode-color: #742BFF" class="data-color--tt-darkmode-742bff"><span id="7cv38ze8gk" class="candidate-entity-word" data-gid="7814145">三菱PLC</span></span></em>控制伺服馬達(dá)為例,具體分享一下伺服馬達(dá)控制步驟。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/M9Kb027T.jpg" /></p> <p class="pgc-img-caption">三菱伺服馬達(dá)</p> </div> <p data-track="2"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">1.設(shè)置定位模塊基本參數(shù)</span></em></strong></p> <p data-track="3">在智能功能模塊中(QD77MS系列)根據(jù)機(jī)械配置不同設(shè)置好相應(yīng)的參數(shù)</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/4U91bcE8.jpg" /></p> <p class="pgc-img-caption">基本參數(shù)設(shè)置</p> </div> <p data-track="22"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">2.設(shè)置<a href="http://www.qjsdgw.cn/tag/%e5%8e%9f%e7%82%b9" title="【查看含有[原點(diǎn)]標(biāo)簽的文章】" target="_blank">原點(diǎn)</a>回歸基本參數(shù)</span></em></strong></p> <p data-track="5">根據(jù)實(shí)際情況選擇:近點(diǎn)DOG型、數(shù)據(jù)設(shè)定型、計(jì)數(shù)型等原點(diǎn)回歸方式。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/H2Z420NW.jpg" /></p> <p class="pgc-img-caption">原點(diǎn)回歸方式</p> </div> <p data-track="6"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">3.設(shè)置伺服放大器參數(shù)</span></em></strong></p> <div id="7cv38ze8gk" class="business-container-rtb" data-content='{"selector":"business-container-rtb"}'></div> <p data-track="7">設(shè)置絕對(duì)位置系統(tǒng)、相對(duì)位置系統(tǒng)、自動(dòng)調(diào)諧相應(yīng)等參數(shù),也可以選擇“一鍵式調(diào)整”進(jìn)行相關(guān)的參數(shù)設(shè)置。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/AFThtm8K.jpg" /></p> <p class="pgc-img-caption">伺服放大器參數(shù)設(shè)置</p> </div> <div id="7cv38ze8gk" class="business-container-rtb" data-content='{"selector":"business-container-brand"}'></div> <p data-track="9"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">4.伺服外部信號(hào)<a href="http://www.qjsdgw.cn/tag/%e7%a8%8b%e5%ba%8f" title="【查看含有[程序]標(biāo)簽的文章】" target="_blank">程序</a></span></em></strong></p> <p data-track="10">包含伺服馬達(dá)電源信號(hào)、伺服馬達(dá)剎車(chē)信號(hào)等外圍接入信號(hào)。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/x5z83geQ.jpg" /></p> <p class="pgc-img-caption">外部信號(hào)程序</p> </div> <p data-track="11"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">5.原點(diǎn)回歸程序</span></em></strong></p> <p data-track="12">根據(jù)不同的原點(diǎn)回歸方式,進(jìn)行原點(diǎn)回歸。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/l5TNMzQ2.jpg" /></p> <p class="pgc-img-caption">原點(diǎn)回歸程序</p> </div> <p data-track="13"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">6.手動(dòng)程序</span></em></strong></p> <p data-track="14">JOG+、JOG-、伺服停止、伺服報(bào)警復(fù)位等與<span id="7cv38ze8gk" class="candidate-entity-word" data-gid="6248994">PLC</span> CPU 輸入/輸出信號(hào)。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/p8QkSPlN.jpg" /></p> <p class="pgc-img-caption">手動(dòng)程序</p> </div> <p data-track="15"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">7.當(dāng)前參數(shù)反饋&控制參數(shù)寫(xiě)入程序</span></em></strong></p> <p data-track="16"><em><span style="color: #00AA54;--tt-darkmode-color: #00AA54" class="data-color--tt-darkmode-00aa54">①.反饋參數(shù):</span></em></p> <p data-track="28">伺服馬達(dá)的當(dāng)前位置、報(bào)警代碼、當(dāng)前速度等。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/mMON48Kw.jpg" /></p> <p class="pgc-img-caption">當(dāng)前狀態(tài)反饋</p> </div> <p data-track="17"><em><span style="color: #00AA54;--tt-darkmode-color: #00AA54" class="data-color--tt-darkmode-00aa54">②.控制參數(shù):</span></em></p> <p data-track="29">寫(xiě)入JOG速度、伺服定位速度等相關(guān)的控制參數(shù)。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/9Z5TCq6T.jpg" /></p> <p class="pgc-img-caption">控制參數(shù)</p> </div> <p data-track="18"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">8.伺服定位啟動(dòng)程序</span></em></strong></p> <p data-track="19">包含伺服定位起始編號(hào)、定位地址、定位啟動(dòng)信號(hào)。</p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/s8kX8E2A.jpg" /></p> <p class="pgc-img-caption">定位啟動(dòng)參數(shù)寫(xiě)入</p> </div> <p data-track="20"></p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/ob7BzYyO.jpg" /></p> <p class="pgc-img-caption">定位啟動(dòng)</p> </div> <p data-track="34"><strong><em><span style="color: #0289E6;--tt-darkmode-color: #0289E6" class="data-color--tt-darkmode-0289e6">9.試運(yùn)行</span></em></strong></p> <p data-track="35">按照以上的步驟,就可以試運(yùn)行伺服馬達(dá)了。</p> <p data-track="39"><strong><em><span style="font-size: 20px"><span style="color: #F04142;--tt-darkmode-color: #F04142" class="data-color--tt-darkmode-f04142">關(guān)注我,學(xué)習(xí)更多電氣知識(shí)!</span></span></em></strong></p> <p data-track="37"><strong><em><span style="color: #222222;--tt-darkmode-color: #C1C1C1" class="data-color--tt-darkmode-c1c1c1">附:緩沖存儲(chǔ)器地址分配表</span></em></strong></p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/ZRUZ0jeb.jpg" /></p> <p class="pgc-img-caption"></div><p></p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/r01x44G0.jpg" /></p> <p class="pgc-img-caption"></div><p></p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/53vkFNEw.jpg" /></p> <p class="pgc-img-caption"></div><p></p> <div id="7cv38ze8gk" class="pgc-img"><img decoding="async" src="http://www.qjsdgw.cn/wp-content/uploads/2022/03/4c14pQA4.jpg" /></p> <p class="pgc-img-caption"> </div> ]]></content:encoded> </item> <item> <title>店鋪利益點(diǎn)怎么填6字(店鋪利益點(diǎn)怎么填6字實(shí)例) http://www.qjsdgw.cn/11412.html Sun, 05 Jun 2022 20:51:20 +0000 http://www.qjsdgw.cn/?p=11412 裂變有5個(gè)維度:

1.員工裂變

2.會(huì)員裂變

3.分銷(xiāo)裂變

4.以店招店的店面裂變

5.合伙人裂變

我告訴大家從今天開(kāi)始,特別是實(shí)體店的小老板,你們一定要把你們的員工當(dāng)成自己的朋友,不要瞧不起人家,要跟他商量商量分錢(qián)制度這件事情。今天我就用一個(gè)小案例來(lái)給大家解析一下這幾種裂變模式。

有一家實(shí)體店的小老板,他每天都在招員工,招員工的過(guò)程當(dāng)中,他發(fā)現(xiàn)員工經(jīng)常是為了找借口不斷的說(shuō)謊話(huà),他也感覺(jué)到很累啊,他說(shuō)我給你工資你給我干活我們不是冤家,那么他會(huì)不斷給員工表達(dá)一種觀(guān)點(diǎn),你早上來(lái)得晚和晚上的走的早其實(shí)沒(méi)有關(guān)系,我們都要賺錢(qián)吧,就是說(shuō)人話(huà),如果他聽(tīng)不懂人話(huà)你就別用他了。

我們怎么賺錢(qián)的你得告訴員工一個(gè)方向,如果沒(méi)有方向,他就覺(jué)得你賠跟賺跟他沒(méi)有任何關(guān)系。所以你首先在能力上,在思維上,在方法上,你得征服他,最起碼你能做他的一個(gè)老師。你不用聊的太多,他也不懂,聊個(gè)一招兩招,你說(shuō)我線(xiàn)上應(yīng)該怎么做,線(xiàn)下應(yīng)該怎么做,最起碼咱們比別人店要強(qiáng)。那么他認(rèn)同你了,你再跟他聊我們店面正在發(fā)生什么,我們店面正在面臨著什么,而不要聊什么你今天怎么來(lái)晚了呢?你怎么又早走了呢?最近業(yè)績(jī)?cè)趺床缓茫銓?duì)人家服務(wù)態(tài)度不好。不能這樣聊,你本來(lái)就沒(méi)有人,你管什么?我們應(yīng)該理解他,配合他,協(xié)同他,讓他跟你站在同一個(gè)立場(chǎng)上,相當(dāng)于你把他變成閨蜜,你把他變成哥們,就是利益上有關(guān)聯(lián),這是一個(gè)基礎(chǔ)。

我告訴大家,實(shí)體店面不需要能力太強(qiáng)的人,因?yàn)樗恍枰_(kāi)創(chuàng)性的工作,他只需要把你交給他的事情辦好就行了,你應(yīng)該要聽(tīng)得懂人話(huà)的人,就是那些有過(guò)生活經(jīng)歷的人,因?yàn)樗苈?tīng)出懂人話(huà),所以千萬(wàn)不要小瞧那些生完孩子的寶媽?zhuān)驗(yàn)樗齻冎郎畹钠D辛,她們懂得生活的磨難,她可能沒(méi)有文化,但她真的能夠聽(tīng)得進(jìn)人話(huà)。不要用那些表面上很聰明的像百靈鳥(niǎo)的那種,生活看似沒(méi)有壓力,事實(shí)上是不負(fù)責(zé)任的,比如說(shuō)那幫小女孩,大姐長(zhǎng)大姐短的,看起來(lái)挺有能力的那種,但沒(méi)用的,因?yàn)樗筒蛔。粫?huì)跟你思考一條線(xiàn)的,因?yàn)槟銈冎g的有代溝,所以我們首先要過(guò)濾員工,把這類(lèi)的員工過(guò)濾出來(lái),一定要把員工變成跟我們同頻的人。

那么第2件事情我們要跟員工說(shuō),現(xiàn)在都是合伙創(chuàng)業(yè),那么你就把這家店當(dāng)成自己的店,你看我的成本你都知道啊,姐都跟你說(shuō)了,我們現(xiàn)在的業(yè)績(jī)和業(yè)務(wù),每天收益是多少你也知道了,還有我們的房租成本你也都知道了,我就把這個(gè)底兒全交給你,讓你明白,然后我是這樣定的,你看行不行,就是說(shuō)你有時(shí)間你就來(lái)我這店,沒(méi)有時(shí)間你可以在家,反正現(xiàn)在線(xiàn)上啥的咱們都方便,你把它當(dāng)成自己的店,你就是我的合伙人,由你所產(chǎn)生的收益,你占凈利潤(rùn)的70%,我占30%,因?yàn)槲疫€有一些成本,其實(shí)我扣出去也沒(méi)啥了。其實(shí)我告訴大家,實(shí)體店的員工裂變就是這樣的,你給那些員工藏著掖著的人家沒(méi)有人搭理你,天天喊雞血打口號(hào)沒(méi)用的,你就要跟他實(shí)實(shí)在在的聊。

這個(gè)思路大家都說(shuō)是好的,但是員工他不會(huì)做呀,第一社群不會(huì)做,第二不會(huì)做社交化,第三不會(huì)裂變。這個(gè)時(shí)候才能體現(xiàn)你的能力,如果你好好的看了我的文章,那這些都不是問(wèn)題!你每天可以大量的招,而且能夠招50個(gè)員工,全是做的兼職型的給你創(chuàng)業(yè),這不就是員工的裂變嗎?

我們?cè)賮?lái)強(qiáng)化一下會(huì)員裂變,會(huì)員裂變第1件事情是引流,然后一定是一次小成交,然后變成大成交的一個(gè)過(guò)程。大成交的過(guò)程就把它放到我們的會(huì)員管理系統(tǒng)當(dāng)中,那這個(gè)會(huì)員分為幾個(gè)級(jí)別,比如說(shuō)你只要小程序注冊(cè)了就是會(huì)員,然后再消費(fèi)的話(huà)就升級(jí),老會(huì)員帶新會(huì)員有獎(jiǎng)勵(lì),會(huì)員和會(huì)員之間裂變,然后會(huì)員還包含了產(chǎn)品的重購(gòu),這就是一個(gè)會(huì)員體系。

那分銷(xiāo)就是水平裂變,比如小程序注冊(cè)了就自動(dòng)成為會(huì)員,然后消費(fèi)198升級(jí)高級(jí)會(huì)員,還有叫做尊享會(huì)員,那么尊享會(huì)員就具有分銷(xiāo)功能了,免費(fèi)會(huì)員的話(huà)它沒(méi)有分銷(xiāo)功能,這個(gè)你們?cè)诤笈_(tái)自己來(lái)設(shè)置。正常來(lái)說(shuō)第一個(gè)級(jí)別一定是免費(fèi),第二個(gè)級(jí)別是個(gè)很小的門(mén)檻。如果分銷(xiāo)賺錢(qián)了那就可以成為合伙人了,以店招店就是做加盟店,這些以后都能講到。

]]>